From 4784fe169df444691b67085290a6be2f925bb103 Mon Sep 17 00:00:00 2001
From: l.gladek <DupaDupaCycki>
Date: Fri, 18 Dec 2015 12:43:14 +0100
Subject: [PATCH] Add intellisense issue search

---
 pom.xml                                                          |   5 +++--
 src/main/java/pl/itcrowd/youtrack/api/Filter.java                | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------
 src/main/java/pl/itcrowd/youtrack/api/IssueItemWrapper.java      |  29 +++++++++++++++++++++++++++++
 src/main/java/pl/itcrowd/youtrack/api/YoutrackAPI.java           |  29 +++++++++++++++++++++++++----
 src/main/java/pl/itcrowd/youtrack/api/rest/AssignedByType.java   |  20 ++++++++++++++------
 src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeList.java     |  73 ++++++++++++++++++++++++++++++++++++++++++++++---------------------------
 src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeType.java     |  72 ++++++++++++++++++++++++++++++++++++++++++++----------------------------
 src/main/java/pl/itcrowd/youtrack/api/rest/Comment.java          | 340 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------------------------------------------------
 src/main/java/pl/itcrowd/youtrack/api/rest/Enumeration.java      |  77 +++++++++++++++++++++++++++++++++++++++++++----------------------------------
 src/main/java/pl/itcrowd/youtrack/api/rest/EnumerationValue.java |  62 +++++++++++++++++++++++++++++++++++++-------------------------
 src/main/java/pl/itcrowd/youtrack/api/rest/ErrorType.java        |  32 +++++++++++++++++++-------------
 src/main/java/pl/itcrowd/youtrack/api/rest/Field.java            | 148 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------------------------
 src/main/java/pl/itcrowd/youtrack/api/rest/IntelliSense.java     | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/pl/itcrowd/youtrack/api/rest/Issue.java            |  41 +++++++++++++++++++++++++----------------
 src/main/java/pl/itcrowd/youtrack/api/rest/IssueCompacts.java    |  28 +++++++++++++++++-----------
 src/main/java/pl/itcrowd/youtrack/api/rest/IssueItem.java        |  85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/pl/itcrowd/youtrack/api/rest/Issues.java           |  28 +++++++++++++++++-----------
 src/main/java/pl/itcrowd/youtrack/api/rest/ObjectFactory.java    |  76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
 src/main/java/pl/itcrowd/youtrack/api/rest/User.java             |  33 ++++++++++++++++++++++-----------
 src/main/java/pl/itcrowd/youtrack/api/rest/UserGroupRefType.java |  84 ++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------
 src/main/java/pl/itcrowd/youtrack/api/rest/UserRefs.java         |  28 +++++++++++++++++-----------
 src/main/xjb/bindings.xjb                                        |   9 +++++++--
 src/main/xsd/IntelliSense.xml                                    | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/xsd/IntelliSense.xsd                                    |  17 +++++++++++++++++
 src/main/xsd/types.xsd                                           |   9 ++++++++-
 25 files changed, 1259 insertions(+), 547 deletions(-)
 create mode 100644 src/main/java/pl/itcrowd/youtrack/api/IssueItemWrapper.java
 create mode 100644 src/main/java/pl/itcrowd/youtrack/api/rest/IntelliSense.java
 create mode 100644 src/main/java/pl/itcrowd/youtrack/api/rest/IssueItem.java
 create mode 100644 src/main/xsd/IntelliSense.xml
 create mode 100644 src/main/xsd/IntelliSense.xsd

diff --git a/pom.xml b/pom.xml
index c148418..330f57e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>pl.itcrowd</groupId>
     <artifactId>youtrack-rest-api</artifactId>
-    <version>1.1.1-SNAPSHOT</version>
+    <version>1.1.2-SNAPSHOT</version>
     <scm>
         <developerConnection>scm:git:https://itcrowd.pl/gitblit/git/OpenSource/youtrack-rest-api.git</developerConnection>
       <tag>HEAD</tag>
diff --git a/src/main/java/pl/itcrowd/youtrack/api/Filter.java b/src/main/java/pl/itcrowd/youtrack/api/Filter.java
index 7e79367..f8d7fa2 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/Filter.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/Filter.java
@@ -15,186 +15,177 @@ public final class Filter {
 
     private long maxResults;
 
-    public static Filter createdFilter(String date)
-    {
-        return new Filter().created(date);
-    }
+    private long optionsLimit;
 
-    public static Filter createdFilter(DateValues date)
+    private Filter()
     {
-        return new Filter().created(date);
-    }
 
-    public static Filter descriptionFilter(String description)
-    {
-        return new Filter().description(description);
     }
 
-    public static Filter issueIdFilter(String issueId)
+    public Filter after(long after)
     {
-        return new Filter().issueId(issueId);
+        this.after = after;
+        return this;
     }
 
-    public static Filter projectFilter(String project)
+    public Filter created(DateValues date)
     {
-        return new Filter().project(project);
+        return created(date.getFilterValue());
     }
 
-    public static Filter reporterFilter(String reporter)
+    public Filter created(String date)
     {
-        return new Filter().reporter(reporter);
+        conditions.add(new Condition(Fields.created, date));
+        return this;
     }
 
-    public static Filter resolvedFilter(String date)
+    public static Filter createdFilter(String date)
     {
-        return new Filter().resolved(date);
+        return new Filter().created(date);
     }
 
-    public static Filter resolvedFilter(DateValues date)
+    public static Filter createdFilter(DateValues date)
     {
-        return new Filter().resolved(date);
+        return new Filter().created(date);
     }
 
-    public static Filter stateFilter(StateValues... state)
+    public Filter description(String description)
     {
-        return new Filter().state(state);
+        conditions.add(new Condition(Fields.description, description));
+        return this;
     }
 
-    public static Filter stateFilter(String state)
+    public static Filter descriptionFilter(String description)
     {
-        return new Filter().state(state);
+        return new Filter().description(description);
     }
 
-    public static Filter summaryFilter(String summary)
+    public Filter freeText(String text)
     {
-        return new Filter().summary(summary);
+        conditions.add(new Condition(null, text));
+        return this;
     }
 
-    public static Filter unresolvedFilter()
+    public Filter issueId(String issueId)
     {
-        return new Filter().unresolved();
+        conditions.add(new Condition(Fields.issueId, issueId));
+        return this;
     }
 
-    public static Filter updatedFilter(String date)
+    public static Filter issueIdFilter(String issueId)
     {
-        return new Filter().updated(date);
+        return new Filter().issueId(issueId);
     }
 
-    public static Filter updatedFilter(DateValues date)
+    public Filter maxResults(long maxResults)
     {
-        return new Filter().updated(date);
+        this.maxResults = maxResults;
+        return this;
     }
 
-    public static Filter updaterFilter(String updater)
+    public Filter optionsLimit(long optionsLimit)
     {
-        return new Filter().updater(updater);
+        this.optionsLimit = optionsLimit;
+        return this;
     }
 
-    private Filter()
+    public Filter project(String project)
     {
-
+        conditions.add(new Condition(Fields.projectShortName, project));
+        return this;
     }
 
-    @Override
-    public String toString()
+    public static Filter projectFilter(String project)
     {
-        StringBuilder builder = new StringBuilder();
-        String space = " ";
-        for (Condition condition : conditions) {
-            builder.append(space);
-            if (condition.field != null) {
-                builder.append(condition.field.getCommand());
-                builder.append(":");
-            }
-            builder.append(condition.value);
-        }
-        if (maxResults > 0) {
-            builder.append("&max=").append(maxResults);
-        }
-        if (after > 0) {
-            builder.append("&after=").append(after);
-        }
-        return builder.length() > space.length() ? builder.substring(space.length()) : builder.toString();
+        return new Filter().project(project);
     }
 
-    public Filter after(long after)
+    public Filter reporter(String reporter)
     {
-        this.after = after;
+        conditions.add(new Condition(Fields.reporterName, reporter));
         return this;
     }
 
-    public Filter created(DateValues date)
+    public static Filter reporterFilter(String reporter)
     {
-        return created(date.getFilterValue());
+        return new Filter().reporter(reporter);
     }
 
-    public Filter created(String date)
-    {
-        conditions.add(new Condition(Fields.created, date));
-        return this;
-    }
+    public Filter resolved(DateValues date)
 
-    public Filter description(String description)
     {
-        conditions.add(new Condition(Fields.description, description));
-        return this;
+        return resolved(date.getFilterValue());
     }
 
-    public Filter freeText(String text)
+    public Filter resolved(String date)
     {
-        conditions.add(new Condition(null, text));
+        conditions.add(new Condition(Fields.resolved, date));
         return this;
     }
 
-    public Filter issueId(String issueId)
+    public static Filter resolvedFilter(String date)
     {
-        conditions.add(new Condition(Fields.issueId, issueId));
-        return this;
+        return new Filter().resolved(date);
     }
 
-    public Filter maxResults(long maxResults)
+    public static Filter resolvedFilter(DateValues date)
     {
-        this.maxResults = maxResults;
-        return this;
+        return new Filter().resolved(date);
     }
 
-    public Filter project(String project)
+    public Filter state(StateValues... state)
     {
-        conditions.add(new Condition(Fields.projectShortName, project));
-        return this;
+        final StringBuilder stringBuilder = new StringBuilder();
+        for (StateValues value : state) {
+            stringBuilder.append(",").append(value.getFilterValue());
+        }
+        return state(stringBuilder.length() > 0 ? stringBuilder.substring(1) : stringBuilder.toString());
     }
 
-    public Filter reporter(String reporter)
+    public static Filter stateFilter(StateValues... state)
     {
-        conditions.add(new Condition(Fields.reporterName, reporter));
-        return this;
+        return new Filter().state(state);
     }
 
-    public Filter resolved(DateValues date)
-
+    public static Filter stateFilter(String state)
     {
-        return resolved(date.getFilterValue());
+        return new Filter().state(state);
     }
 
-    public Filter resolved(String date)
+    public Filter summary(String summary)
     {
-        conditions.add(new Condition(Fields.resolved, date));
+        conditions.add(new Condition(Fields.summary, summary));
         return this;
     }
 
-    public Filter state(StateValues... state)
+    public static Filter summaryFilter(String summary)
     {
-        final StringBuilder stringBuilder = new StringBuilder();
-        for (StateValues value : state) {
-            stringBuilder.append(",").append(value.getFilterValue());
-        }
-        return state(stringBuilder.length() > 0 ? stringBuilder.substring(1) : stringBuilder.toString());
+        return new Filter().summary(summary);
     }
 
-    public Filter summary(String summary)
+    @Override
+    public String toString()
     {
-        conditions.add(new Condition(Fields.summary, summary));
-        return this;
+        StringBuilder builder = new StringBuilder();
+        String space = " ";
+        for (Condition condition : conditions) {
+            builder.append(space);
+            if (condition.field != null) {
+                builder.append(condition.field.getCommand());
+                builder.append(":");
+            }
+            builder.append(condition.value);
+        }
+        if (maxResults > 0) {
+            builder.append("&max=").append(maxResults);
+        }
+        if (optionsLimit > 0) {
+            builder.append("&optionsLimit=").append(optionsLimit);
+        }
+        if (after > 0) {
+            builder.append("&after=").append(after);
+        }
+        return builder.length() > space.length() ? builder.substring(space.length()) : builder.toString();
     }
 
     public Filter unresolved()
@@ -203,6 +194,11 @@ public final class Filter {
         return this;
     }
 
+    public static Filter unresolvedFilter()
+    {
+        return new Filter().unresolved();
+    }
+
     public Filter updated(DateValues date)
     {
         return updated(date.getFilterValue());
@@ -214,12 +210,27 @@ public final class Filter {
         return this;
     }
 
+    public static Filter updatedFilter(String date)
+    {
+        return new Filter().updated(date);
+    }
+
+    public static Filter updatedFilter(DateValues date)
+    {
+        return new Filter().updated(date);
+    }
+
     public Filter updater(String updater)
     {
         conditions.add(new Condition(Fields.updaterName, updater));
         return this;
     }
 
+    public static Filter updaterFilter(String updater)
+    {
+        return new Filter().updater(updater);
+    }
+
     private Filter state(String state)
     {
         conditions.add(new Condition(Fields.state, state));
diff --git a/src/main/java/pl/itcrowd/youtrack/api/IssueItemWrapper.java b/src/main/java/pl/itcrowd/youtrack/api/IssueItemWrapper.java
new file mode 100644
index 0000000..f87b21a
--- /dev/null
+++ b/src/main/java/pl/itcrowd/youtrack/api/IssueItemWrapper.java
@@ -0,0 +1,29 @@
+package pl.itcrowd.youtrack.api;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import pl.itcrowd.youtrack.api.rest.IssueItem;
+
+import java.io.Serializable;
+
+public class IssueItemWrapper implements Serializable {
+
+    private static final Log log = LogFactory.getLog(IssueItemWrapper.class);
+
+    private IssueItem issueItem;
+
+    public IssueItemWrapper(IssueItem issueItem)
+    {
+        this.issueItem = issueItem;
+    }
+
+    public String getIssueId()
+    {
+        return issueItem.getOption();
+    }
+
+    public String getSummary()
+    {
+        return issueItem.getDescription();
+    }
+}
diff --git a/src/main/java/pl/itcrowd/youtrack/api/YoutrackAPI.java b/src/main/java/pl/itcrowd/youtrack/api/YoutrackAPI.java
index 5b911cf..0147cb2 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/YoutrackAPI.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/YoutrackAPI.java
@@ -34,8 +34,10 @@ import pl.itcrowd.youtrack.api.exceptions.YoutrackAPIException;
 import pl.itcrowd.youtrack.api.exceptions.YoutrackErrorException;
 import pl.itcrowd.youtrack.api.rest.AssigneeList;
 import pl.itcrowd.youtrack.api.rest.Enumeration;
+import pl.itcrowd.youtrack.api.rest.IntelliSense;
 import pl.itcrowd.youtrack.api.rest.Issue;
 import pl.itcrowd.youtrack.api.rest.IssueCompacts;
+import pl.itcrowd.youtrack.api.rest.IssueItem;
 import pl.itcrowd.youtrack.api.rest.Issues;
 import pl.itcrowd.youtrack.api.rest.User;
 import pl.itcrowd.youtrack.api.rest.UserRefs;
@@ -121,17 +123,17 @@ public class YoutrackAPI {
         // set up a TrustManager that trusts everything
         try {
             sslContext.init(null, new TrustManager[]{new X509TrustManager() {
-                public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException
+                public X509Certificate[] getAcceptedIssuers()
                 {
+                    return new X509Certificate[0];
                 }
 
-                public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException
+                public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException
                 {
                 }
 
-                public X509Certificate[] getAcceptedIssuers()
+                public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException
                 {
-                    return new X509Certificate[0];
                 }
             }}, new SecureRandom());
         } catch (KeyManagementException e) {
@@ -310,6 +312,25 @@ public class YoutrackAPI {
         execute(request);
     }
 
+    public List<IssueItemWrapper> searchIntellisenseIssuesByProject(String project, Object filter) throws JAXBException, IOException
+    {
+        final String query = "project=" + project + "&filter=" + (filter == null ? "" : filter);
+        final URI buildURI = buildURI(serviceLocationURI, "/rest/issue/intellisense", query);
+        final HttpGet request = new HttpGet(buildURI);
+        final String execute = execute(request);
+        final Object result = YoutrackUnmarshaller.unmarshall(execute);
+        if (!(result instanceof IntelliSense)) {
+            throw new YoutrackAPIException("Unmarshalling problem. Expected Issues, received: " + result.getClass() + " " + result);
+        }
+        IntelliSense.Suggest suggest = ((IntelliSense) result).getSuggest();
+        List<IssueItem> issueItems = suggest.getItems();
+        List<IssueItemWrapper> wrappedIssueItems = new ArrayList<IssueItemWrapper>();
+        for (IssueItem issueItem : issueItems) {
+            wrappedIssueItems.add(new IssueItemWrapper(issueItem));
+        }
+        return wrappedIssueItems;
+    }
+
     public List<IssueWrapper> searchIssues(Object filter, Integer maxResults, Integer after) throws JAXBException, IOException
     {
         final Map<String, Object> params = new HashMap<String, Object>();
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/AssignedByType.java b/src/main/java/pl/itcrowd/youtrack/api/rest/AssignedByType.java
index c5a76e3..2c6b10e 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/AssignedByType.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/AssignedByType.java
@@ -2,6 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
@@ -10,11 +11,12 @@ import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * <p>Java class for assignedByType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="assignedByType">
  *   &lt;complexContent>
@@ -26,6 +28,8 @@ import javax.xml.bind.annotation.XmlType;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "assignedByType", propOrder = {"userGroupRef"})
@@ -37,8 +41,10 @@ public class AssignedByType {
     /**
      * Gets the value of the userGroupRef property.
      *
-     * @return possible object is
-     *         {@link UserGroupRefType }
+     * @return
+     *     possible object is
+     *     {@link UserGroupRefType }
+     *     
      */
     public UserGroupRefType getUserGroupRef()
     {
@@ -48,8 +54,10 @@ public class AssignedByType {
     /**
      * Sets the value of the userGroupRef property.
      *
-     * @param value allowed object is
-     *              {@link UserGroupRefType }
+     * @param value
+     *     allowed object is
+     *     {@link UserGroupRefType }
+     *     
      */
     public void setUserGroupRef(UserGroupRefType value)
     {
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeList.java b/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeList.java
index 483e326..c9f97c3 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeList.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeList.java
@@ -2,23 +2,25 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for anonymous complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType>
  *   &lt;complexContent>
@@ -42,6 +44,8 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "", propOrder = {"assignees"})
@@ -50,18 +54,18 @@ public class AssigneeList {
 
     @XmlElement(required = true)
     protected AssigneeList.Assignees assignees;
-
     @XmlAttribute
     protected String groupsUrl;
-
     @XmlAttribute
     protected String individualsUrl;
 
     /**
      * Gets the value of the assignees property.
      *
-     * @return possible object is
-     *         {@link AssigneeList.Assignees }
+     * @return
+     *     possible object is
+     *     {@link AssigneeList.Assignees }
+     *     
      */
     public AssigneeList.Assignees getAssignees()
     {
@@ -71,8 +75,10 @@ public class AssigneeList {
     /**
      * Sets the value of the assignees property.
      *
-     * @param value allowed object is
-     *              {@link AssigneeList.Assignees }
+     * @param value
+     *     allowed object is
+     *     {@link AssigneeList.Assignees }
+     *     
      */
     public void setAssignees(AssigneeList.Assignees value)
     {
@@ -82,8 +88,10 @@ public class AssigneeList {
     /**
      * Gets the value of the groupsUrl property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
     public String getGroupsUrl()
     {
@@ -93,8 +101,10 @@ public class AssigneeList {
     /**
      * Sets the value of the groupsUrl property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
      */
     public void setGroupsUrl(String value)
     {
@@ -104,8 +114,10 @@ public class AssigneeList {
     /**
      * Gets the value of the individualsUrl property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
     public String getIndividualsUrl()
     {
@@ -115,19 +127,22 @@ public class AssigneeList {
     /**
      * Sets the value of the individualsUrl property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
      */
     public void setIndividualsUrl(String value)
     {
         this.individualsUrl = value;
     }
 
+
     /**
      * <p>Java class for anonymous complex type.
-     * <p/>
+     * 
      * <p>The following schema fragment specifies the expected content contained within this class.
-     * <p/>
+     * 
      * <pre>
      * &lt;complexType>
      *   &lt;complexContent>
@@ -139,6 +154,8 @@ public class AssigneeList {
      *   &lt;/complexContent>
      * &lt;/complexType>
      * </pre>
+     *
+     * 
      */
     @XmlAccessorType(XmlAccessType.FIELD)
     @XmlType(name = "", propOrder = {"assignees"})
@@ -149,23 +166,25 @@ public class AssigneeList {
 
         /**
          * Gets the value of the assignees property.
-         * <p/>
-         * <p/>
+         *
+         * <p>
          * This accessor method returns a reference to the live list,
          * not a snapshot. Therefore any modification you make to the
          * returned list will be present inside the JAXB object.
          * This is why there is not a <CODE>set</CODE> method for the assignees property.
-         * <p/>
-         * <p/>
+         *
+         * <p>
          * For example, to add a new item, do as follows:
          * <pre>
          *    getAssignees().add(newItem);
          * </pre>
-         * <p/>
-         * <p/>
-         * <p/>
+         *
+         *
+         * <p>
          * Objects of the following type(s) are allowed in the list
          * {@link AssigneeType }
+         *
+         * 
          */
         public List<AssigneeType> getAssignees()
         {
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeType.java b/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeType.java
index f8949db..39315b9 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeType.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/AssigneeType.java
@@ -2,6 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
@@ -11,11 +12,12 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * <p>Java class for assigneeType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="assigneeType">
  *   &lt;complexContent>
@@ -29,6 +31,8 @@ import javax.xml.bind.annotation.XmlType;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "assigneeType", propOrder = {"assignedBy"})
@@ -38,16 +42,18 @@ public class AssigneeType {
     protected AssignedByType assignedBy;
 
     @XmlAttribute
-    protected String login;
+    protected String isIndividualAssignee;
 
     @XmlAttribute
-    protected String isIndividualAssignee;
+    protected String login;
 
     /**
      * Gets the value of the assignedBy property.
      *
-     * @return possible object is
-     *         {@link AssignedByType }
+     * @return
+     *     possible object is
+     *     {@link AssignedByType }
+     *     
      */
     public AssignedByType getAssignedBy()
     {
@@ -57,8 +63,10 @@ public class AssigneeType {
     /**
      * Sets the value of the assignedBy property.
      *
-     * @param value allowed object is
-     *              {@link AssignedByType }
+     * @param value
+     *     allowed object is
+     *     {@link AssignedByType }
+     *     
      */
     public void setAssignedBy(AssignedByType value)
     {
@@ -66,46 +74,54 @@ public class AssigneeType {
     }
 
     /**
-     * Gets the value of the login property.
+     * Gets the value of the isIndividualAssignee property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getLogin()
+    public String getIsIndividualAssignee()
     {
-        return login;
+        return isIndividualAssignee;
     }
 
     /**
-     * Sets the value of the login property.
+     * Sets the value of the isIndividualAssignee property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setLogin(String value)
+    public void setIsIndividualAssignee(String value)
     {
-        this.login = value;
+        this.isIndividualAssignee = value;
     }
 
     /**
-     * Gets the value of the isIndividualAssignee property.
+     * Gets the value of the login property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getIsIndividualAssignee()
+    public String getLogin()
     {
-        return isIndividualAssignee;
+        return login;
     }
 
     /**
-     * Sets the value of the isIndividualAssignee property.
+     * Sets the value of the login property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setIsIndividualAssignee(String value)
+    public void setLogin(String value)
     {
-        this.isIndividualAssignee = value;
+        this.login = value;
     }
 }
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/Comment.java b/src/main/java/pl/itcrowd/youtrack/api/rest/Comment.java
index e2170c2..c74dc15 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/Comment.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/Comment.java
@@ -2,9 +2,13 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -14,15 +18,13 @@ import javax.xml.bind.annotation.XmlElementRefs;
 import javax.xml.bind.annotation.XmlMixed;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for commentType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="commentType">
  *   &lt;complexContent>
@@ -53,63 +55,91 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "commentType", propOrder = {"content"})
 public class Comment {
 
-    @XmlElementRefs({@XmlElementRef(name = "replies", type = JAXBElement.class), @XmlElementRef(name = "value", type = JAXBElement.class)})
+    @XmlAttribute
+    protected String author;
+
+    @XmlElementRefs({@XmlElementRef(name = "value", type = JAXBElement.class), @XmlElementRef(name = "replies", type = JAXBElement.class)})
     @XmlMixed
     protected List<Serializable> content;
 
     @XmlAttribute
-    protected String id;
+    protected Long created;
 
     @XmlAttribute
-    protected String author;
+    protected String deleted;
 
     @XmlAttribute
-    protected String issueId;
+    protected String id;
 
     @XmlAttribute
-    protected String deleted;
+    protected String issueId;
 
     @XmlAttribute
-    protected String text;
+    protected String name;
 
     @XmlAttribute
     protected String shownForIssueAuthor;
 
     @XmlAttribute
-    protected Long created;
+    protected String text;
 
     @XmlAttribute
     protected Long updated;
 
-    @XmlAttribute
-    protected String name;
+    /**
+     * Gets the value of the author property.
+     *
+     * @return possible object is
+     * {@link String }
+     */
+    public String getAuthor()
+    {
+        return author;
+    }
+
+    /**
+     * Sets the value of the author property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setAuthor(String value)
+    {
+        this.author = value;
+    }
 
     /**
      * Gets the value of the content property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the content property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getContent().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
-     * {@link JAXBElement }{@code <}{@link Comment.Value }{@code >}
-     * {@link String }
      * {@link JAXBElement }{@code <}{@link String }{@code >}
+     * {@link String }
+     * {@link JAXBElement }{@code <}{@link Comment.Value }{@code >}
+     *
+     *
      */
     public List<Serializable> getContent()
     {
@@ -120,120 +150,142 @@ public class Comment {
     }
 
     /**
-     * Gets the value of the id property.
+     * Gets the value of the created property.
+     *
+     * @return
+     *     possible object is
+     *     {@link Long }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getId()
+    public Long getCreated()
     {
-        return id;
+        return created;
     }
 
     /**
-     * Sets the value of the id property.
+     * Sets the value of the created property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link Long }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setId(String value)
+    public void setCreated(Long value)
     {
-        this.id = value;
+        this.created = value;
     }
 
     /**
-     * Gets the value of the author property.
+     * Gets the value of the deleted property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getAuthor()
+    public String getDeleted()
     {
-        return author;
+        return deleted;
     }
 
     /**
-     * Sets the value of the author property.
+     * Sets the value of the deleted property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setAuthor(String value)
+    public void setDeleted(String value)
     {
-        this.author = value;
+        this.deleted = value;
     }
 
     /**
-     * Gets the value of the issueId property.
+     * Gets the value of the id property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getIssueId()
+    public String getId()
     {
-        return issueId;
+        return id;
     }
 
     /**
-     * Sets the value of the issueId property.
+     * Sets the value of the id property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setIssueId(String value)
+    public void setId(String value)
     {
-        this.issueId = value;
+        this.id = value;
     }
 
     /**
-     * Gets the value of the deleted property.
+     * Gets the value of the issueId property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getDeleted()
+    public String getIssueId()
     {
-        return deleted;
+        return issueId;
     }
 
     /**
-     * Sets the value of the deleted property.
+     * Sets the value of the issueId property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setDeleted(String value)
+    public void setIssueId(String value)
     {
-        this.deleted = value;
+        this.issueId = value;
     }
 
     /**
-     * Gets the value of the text property.
+     * Gets the value of the name property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getText()
+    public String getName()
     {
-        return text;
+        return name;
     }
 
     /**
-     * Sets the value of the text property.
+     * Sets the value of the name property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setText(String value)
+    public void setName(String value)
     {
-        this.text = value;
+        this.name = value;
     }
 
     /**
      * Gets the value of the shownForIssueAuthor property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getShownForIssueAuthor()
     {
@@ -243,8 +295,10 @@ public class Comment {
     /**
      * Sets the value of the shownForIssueAuthor property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setShownForIssueAuthor(String value)
     {
@@ -252,32 +306,38 @@ public class Comment {
     }
 
     /**
-     * Gets the value of the created property.
+     * Gets the value of the text property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link Long }
      */
-    public Long getCreated()
+    public String getText()
     {
-        return created;
+        return text;
     }
 
     /**
-     * Sets the value of the created property.
+     * Sets the value of the text property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link Long }
      */
-    public void setCreated(Long value)
+    public void setText(String value)
     {
-        this.created = value;
+        this.text = value;
     }
 
     /**
      * Gets the value of the updated property.
      *
-     * @return possible object is
-     *         {@link Long }
+     * @return
+     *     possible object is
+     *     {@link Long }
+     *
      */
     public Long getUpdated()
     {
@@ -287,8 +347,10 @@ public class Comment {
     /**
      * Sets the value of the updated property.
      *
-     * @param value allowed object is
-     *              {@link Long }
+     * @param value
+     *     allowed object is
+     *     {@link Long }
+     *
      */
     public void setUpdated(Long value)
     {
@@ -296,32 +358,10 @@ public class Comment {
     }
 
     /**
-     * Gets the value of the name property.
-     *
-     * @return possible object is
-     *         {@link String }
-     */
-    public String getName()
-    {
-        return name;
-    }
-
-    /**
-     * Sets the value of the name property.
-     *
-     * @param value allowed object is
-     *              {@link String }
-     */
-    public void setName(String value)
-    {
-        this.name = value;
-    }
-
-    /**
      * <p>Java class for anonymous complex type.
-     * <p/>
+     * 
      * <p>The following schema fragment specifies the expected content contained within this class.
-     * <p/>
+     * 
      * <pre>
      * &lt;complexType>
      *   &lt;simpleContent>
@@ -332,47 +372,55 @@ public class Comment {
      *   &lt;/simpleContent>
      * &lt;/complexType>
      * </pre>
+     * 
+     * 
      */
     @XmlAccessorType(XmlAccessType.FIELD)
     @XmlType(name = "", propOrder = {"value"})
     public static class Value {
 
-        @XmlValue
-        protected String value;
+        @XmlAttribute
+        protected String role;
 
         @XmlAttribute
         protected String type;
 
-        @XmlAttribute
-        protected String role;
+        @XmlValue
+        protected String value;
 
         /**
-         * Gets the value of the value property.
+         * Gets the value of the role property.
+         *
+         * @return
+         *     possible object is
+         *     {@link String }
          *
-         * @return possible object is
-         *         {@link String }
          */
-        public String getValue()
+        public String getRole()
         {
-            return value;
+            return role;
         }
 
         /**
-         * Sets the value of the value property.
+         * Sets the value of the role property.
+         *
+         * @param value
+         *     allowed object is
+         *     {@link String }
          *
-         * @param value allowed object is
-         *              {@link String }
          */
-        public void setValue(String value)
+        public void setRole(String value)
         {
-            this.value = value;
+            this.role = value;
         }
 
         /**
          * Gets the value of the type property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
          *
-         * @return possible object is
-         *         {@link String }
          */
         public String getType()
         {
@@ -381,9 +429,11 @@ public class Comment {
 
         /**
          * Sets the value of the type property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
          *
-         * @param value allowed object is
-         *              {@link String }
          */
         public void setType(String value)
         {
@@ -391,25 +441,29 @@ public class Comment {
         }
 
         /**
-         * Gets the value of the role property.
+         * Gets the value of the value property.
+         *
+         * @return
+         *     possible object is
+         *     {@link String }
          *
-         * @return possible object is
-         *         {@link String }
          */
-        public String getRole()
+        public String getValue()
         {
-            return role;
+            return value;
         }
 
         /**
-         * Sets the value of the role property.
+         * Sets the value of the value property.
+         *
+         * @param value
+         *     allowed object is
+         *     {@link String }
          *
-         * @param value allowed object is
-         *              {@link String }
          */
-        public void setRole(String value)
+        public void setValue(String value)
         {
-            this.role = value;
+            this.value = value;
         }
     }
 }
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/Enumeration.java b/src/main/java/pl/itcrowd/youtrack/api/rest/Enumeration.java
index a4c7fd4..ad696ae 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/Enumeration.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/Enumeration.java
@@ -2,22 +2,24 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for enumerationType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="enumerationType">
  *   &lt;complexContent>
@@ -30,36 +32,64 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "enumerationType", propOrder = {"values"})
 public class Enumeration {
 
+    @XmlAttribute
+    protected String name;
+
     @XmlElement(name = "value")
     protected List<EnumerationValue> values;
 
-    @XmlAttribute
-    protected String name;
+    /**
+     * Gets the value of the name property.
+     *
+     * @return possible object is
+     * {@link String }
+     */
+    public String getName()
+    {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setName(String value)
+    {
+        this.name = value;
+    }
 
     /**
      * Gets the value of the values property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the values property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getValues().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link EnumerationValue }
+     *
+     *
      */
     public List<EnumerationValue> getValues()
     {
@@ -69,25 +99,4 @@ public class Enumeration {
         return this.values;
     }
 
-    /**
-     * Gets the value of the name property.
-     *
-     * @return possible object is
-     *         {@link String }
-     */
-    public String getName()
-    {
-        return name;
-    }
-
-    /**
-     * Sets the value of the name property.
-     *
-     * @param value allowed object is
-     *              {@link String }
-     */
-    public void setName(String value)
-    {
-        this.name = value;
-    }
 }
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/EnumerationValue.java b/src/main/java/pl/itcrowd/youtrack/api/rest/EnumerationValue.java
index fd0a67e..025e290 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/EnumerationValue.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/EnumerationValue.java
@@ -2,6 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
@@ -11,11 +12,12 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
+
 /**
  * <p>Java class for enumerationValueType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="enumerationValueType">
  *   &lt;simpleContent>
@@ -25,58 +27,68 @@ import javax.xml.bind.annotation.XmlValue;
  *   &lt;/simpleContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "enumerationValueType", propOrder = {"value"})
 public class EnumerationValue {
 
-    @XmlValue
-    protected String value;
-
     @XmlAttribute
     protected Long colorIndex;
 
+    @XmlValue
+    protected String value;
+
     /**
-     * Gets the value of the value property.
+     * Gets the value of the colorIndex property.
+     *
+     * @return
+     *     possible object is
+     *     {@link Long }
      *
-     * @return possible object is
-     *         {@link String }
      */
-    public String getValue()
+    public Long getColorIndex()
     {
-        return value;
+        return colorIndex;
     }
 
     /**
-     * Sets the value of the value property.
+     * Sets the value of the colorIndex property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link Long }
      *
-     * @param value allowed object is
-     *              {@link String }
      */
-    public void setValue(String value)
+    public void setColorIndex(Long value)
     {
-        this.value = value;
+        this.colorIndex = value;
     }
 
     /**
-     * Gets the value of the colorIndex property.
+     * Gets the value of the value property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
      *
-     * @return possible object is
-     *         {@link Long }
      */
-    public Long getColorIndex()
+    public String getValue()
     {
-        return colorIndex;
+        return value;
     }
 
     /**
-     * Sets the value of the colorIndex property.
+     * Sets the value of the value property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
      *
-     * @param value allowed object is
-     *              {@link Long }
      */
-    public void setColorIndex(Long value)
+    public void setValue(String value)
     {
-        this.colorIndex = value;
+        this.value = value;
     }
 }
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/ErrorType.java b/src/main/java/pl/itcrowd/youtrack/api/rest/ErrorType.java
index 8b5b901..ec340d9 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/ErrorType.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/ErrorType.java
@@ -2,9 +2,13 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -12,15 +16,13 @@ import javax.xml.bind.annotation.XmlElementRef;
 import javax.xml.bind.annotation.XmlElementRefs;
 import javax.xml.bind.annotation.XmlMixed;
 import javax.xml.bind.annotation.XmlType;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for errorType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="errorType">
  *   &lt;complexContent>
@@ -33,36 +35,40 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "errorType", propOrder = {"content"})
 public class ErrorType {
 
-    @XmlElementRefs({@XmlElementRef(name = "message", type = JAXBElement.class), @XmlElementRef(name = "field", type = JAXBElement.class)})
+    @XmlElementRefs({@XmlElementRef(name = "field", type = JAXBElement.class), @XmlElementRef(name = "message", type = JAXBElement.class)})
     @XmlMixed
     protected List<Serializable> content;
 
     /**
      * Gets the value of the content property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the content property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getContent().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link JAXBElement }{@code <}{@link String }{@code >}
      * {@link String }
      * {@link JAXBElement }{@code <}{@link String }{@code >}
+     *
+     * 
      */
     public List<Serializable> getContent()
     {
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/Field.java b/src/main/java/pl/itcrowd/youtrack/api/rest/Field.java
index 9b0ed50..1d78828 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/Field.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/Field.java
@@ -2,23 +2,25 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for fieldType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="fieldType">
  *   &lt;complexContent>
@@ -40,36 +42,64 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "fieldType", propOrder = {"values"})
 public class Field {
 
+    @XmlAttribute
+    protected String name;
+
     @XmlElement(name = "value")
     protected List<Field.Value> values;
 
-    @XmlAttribute
-    protected String name;
+    /**
+     * Gets the value of the name property.
+     *
+     * @return possible object is
+     * {@link String }
+     */
+    public String getName()
+    {
+        return name;
+    }
+
+    /**
+     * Sets the value of the name property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setName(String value)
+    {
+        this.name = value;
+    }
 
     /**
      * Gets the value of the values property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the values property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getValues().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link Field.Value }
+     *
+     *
      */
     public List<Field.Value> getValues()
     {
@@ -80,32 +110,10 @@ public class Field {
     }
 
     /**
-     * Gets the value of the name property.
-     *
-     * @return possible object is
-     *         {@link String }
-     */
-    public String getName()
-    {
-        return name;
-    }
-
-    /**
-     * Sets the value of the name property.
-     *
-     * @param value allowed object is
-     *              {@link String }
-     */
-    public void setName(String value)
-    {
-        this.name = value;
-    }
-
-    /**
      * <p>Java class for anonymous complex type.
-     * <p/>
+     * 
      * <p>The following schema fragment specifies the expected content contained within this class.
-     * <p/>
+     * 
      * <pre>
      * &lt;complexType>
      *   &lt;complexContent>
@@ -116,6 +124,8 @@ public class Field {
      *   &lt;/complexContent>
      * &lt;/complexType>
      * </pre>
+     * 
+     * 
      */
     @XmlAccessorType(XmlAccessType.FIELD)
     @XmlType(name = "", propOrder = {"content"})
@@ -125,16 +135,18 @@ public class Field {
         protected String content;
 
         @XmlAttribute
-        protected String type;
+        protected String role;
 
         @XmlAttribute
-        protected String role;
+        protected String type;
 
         /**
          * Gets the value of the content property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link String }
          *
-         * @return possible object is
-         *         {@link String }
          */
         public String getContent()
         {
@@ -143,9 +155,11 @@ public class Field {
 
         /**
          * Sets the value of the content property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link String }
          *
-         * @param value allowed object is
-         *              {@link String }
          */
         public void setContent(String value)
         {
@@ -153,47 +167,55 @@ public class Field {
         }
 
         /**
-         * Gets the value of the type property.
+         * Gets the value of the role property.
+         *
+         * @return
+         *     possible object is
+         *     {@link String }
          *
-         * @return possible object is
-         *         {@link String }
          */
-        public String getType()
+        public String getRole()
         {
-            return type;
+            return role;
         }
 
         /**
-         * Sets the value of the type property.
+         * Sets the value of the role property.
+         *
+         * @param value
+         *     allowed object is
+         *     {@link String }
          *
-         * @param value allowed object is
-         *              {@link String }
          */
-        public void setType(String value)
+        public void setRole(String value)
         {
-            this.type = value;
+            this.role = value;
         }
 
         /**
-         * Gets the value of the role property.
+         * Gets the value of the type property.
+         *
+         * @return
+         *     possible object is
+         *     {@link String }
          *
-         * @return possible object is
-         *         {@link String }
          */
-        public String getRole()
+        public String getType()
         {
-            return role;
+            return type;
         }
 
         /**
-         * Sets the value of the role property.
+         * Sets the value of the type property.
+         *
+         * @param value
+         *     allowed object is
+         *     {@link String }
          *
-         * @param value allowed object is
-         *              {@link String }
          */
-        public void setRole(String value)
+        public void setType(String value)
         {
-            this.role = value;
+            this.type = value;
         }
     }
 }
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/IntelliSense.java b/src/main/java/pl/itcrowd/youtrack/api/rest/IntelliSense.java
new file mode 100644
index 0000000..5369a8a
--- /dev/null
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/IntelliSense.java
@@ -0,0 +1,126 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
+//
+package pl.itcrowd.youtrack.api.rest;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * <p>Java class for anonymous complex type.
+ * <p/>
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p/>
+ * <pre>
+ * &lt;complexType>
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="suggest">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;sequence>
+ *                   &lt;element name="item" type="{}issueItem" maxOccurs="unbounded" minOccurs="0"/>
+ *                 &lt;/sequence>
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "", propOrder = {"suggest"})
+@XmlRootElement(name = "IntelliSense")
+public class IntelliSense {
+
+    @XmlElement(required = true)
+    protected IntelliSense.Suggest suggest;
+
+    /**
+     * Gets the value of the suggest property.
+     *
+     * @return possible object is
+     * {@link IntelliSense.Suggest }
+     */
+    public IntelliSense.Suggest getSuggest()
+    {
+        return suggest;
+    }
+
+    /**
+     * Sets the value of the suggest property.
+     *
+     * @param value allowed object is
+     *              {@link IntelliSense.Suggest }
+     */
+    public void setSuggest(IntelliSense.Suggest value)
+    {
+        this.suggest = value;
+    }
+
+    /**
+     * <p>Java class for anonymous complex type.
+     * <p/>
+     * <p>The following schema fragment specifies the expected content contained within this class.
+     * <p/>
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;sequence>
+     *         &lt;element name="item" type="{}issueItem" maxOccurs="unbounded" minOccurs="0"/>
+     *       &lt;/sequence>
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     */
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "", propOrder = {"items"})
+    public static class Suggest {
+
+        @XmlElement(name = "item")
+        protected List<IssueItem> items;
+
+        /**
+         * Gets the value of the items property.
+         * <p/>
+         * <p/>
+         * This accessor method returns a reference to the live list,
+         * not a snapshot. Therefore any modification you make to the
+         * returned list will be present inside the JAXB object.
+         * This is why there is not a <CODE>set</CODE> method for the items property.
+         * <p/>
+         * <p/>
+         * For example, to add a new item, do as follows:
+         * <pre>
+         *    getItems().add(newItem);
+         * </pre>
+         * <p/>
+         * <p/>
+         * <p/>
+         * Objects of the following type(s) are allowed in the list
+         * {@link IssueItem }
+         */
+        public List<IssueItem> getItems()
+        {
+            if (items == null) {
+                items = new ArrayList<IssueItem>();
+            }
+            return this.items;
+        }
+    }
+}
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/Issue.java b/src/main/java/pl/itcrowd/youtrack/api/rest/Issue.java
index 5a9c9ee..b1ca1bd 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/Issue.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/Issue.java
@@ -2,23 +2,25 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElements;
 import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for issueType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="issueType">
  *   &lt;complexContent>
@@ -32,6 +34,8 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "issueType", propOrder = {"fieldOrComment"})
@@ -39,30 +43,31 @@ public class Issue {
 
     @XmlElements({@XmlElement(name = "field", type = Field.class), @XmlElement(name = "comment", type = Comment.class)})
     protected List<Object> fieldOrComment;
-
     @XmlAttribute
     protected String id;
 
     /**
      * Gets the value of the fieldOrComment property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the fieldOrComment property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getFieldOrComment().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link Field }
      * {@link Comment }
+     *
+     * 
      */
     public List<Object> getFieldOrComment()
     {
@@ -75,8 +80,10 @@ public class Issue {
     /**
      * Gets the value of the id property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
     public String getId()
     {
@@ -86,8 +93,10 @@ public class Issue {
     /**
      * Sets the value of the id property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
      */
     public void setId(String value)
     {
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/IssueCompacts.java b/src/main/java/pl/itcrowd/youtrack/api/rest/IssueCompacts.java
index 314c198..6023ede 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/IssueCompacts.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/IssueCompacts.java
@@ -2,22 +2,24 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for anonymous complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType>
  *   &lt;complexContent>
@@ -29,6 +31,8 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "", propOrder = {"issues"})
@@ -40,23 +44,25 @@ public class IssueCompacts {
 
     /**
      * Gets the value of the issues property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the issues property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getIssues().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link Issue }
+     *
+     * 
      */
     public List<Issue> getIssues()
     {
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/IssueItem.java b/src/main/java/pl/itcrowd/youtrack/api/rest/IssueItem.java
new file mode 100644
index 0000000..3b43ca6
--- /dev/null
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/IssueItem.java
@@ -0,0 +1,85 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
+//
+package pl.itcrowd.youtrack.api.rest;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+/**
+ * <p>Java class for issueItem complex type.
+ * <p/>
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * <p/>
+ * <pre>
+ * &lt;complexType name="issueItem">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="option" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "issueItem", propOrder = {"option", "description"})
+public class IssueItem {
+
+    @XmlElement(required = true)
+    protected String description;
+
+    @XmlElement(required = true)
+    protected String option;
+
+    /**
+     * Gets the value of the description property.
+     *
+     * @return possible object is
+     * {@link String }
+     */
+    public String getDescription()
+    {
+        return description;
+    }
+
+    /**
+     * Sets the value of the description property.
+     *
+     * @param value allowed object is
+     *              {@link String }
+     */
+    public void setDescription(String value)
+    {
+        this.description = value;
+    }
+
+    /**
+     * Gets the value of the option property.
+     *
+     * @return possible object is
+     * {@link String }
+     */
+    public String getOption()
+    {
+        return option;
+    }
+
+    /**
+     * Sets the value of the option property.
+     *
+     * @param value allowed object is
+     *              {@link String }
+     */
+    public void setOption(String value)
+    {
+        this.option = value;
+    }
+}
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/Issues.java b/src/main/java/pl/itcrowd/youtrack/api/rest/Issues.java
index a18e83d..4ac403a 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/Issues.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/Issues.java
@@ -2,22 +2,24 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for anonymous complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType>
  *   &lt;complexContent>
@@ -29,6 +31,8 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "", propOrder = {"issues"})
@@ -40,23 +44,25 @@ public class Issues {
 
     /**
      * Gets the value of the issues property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the issues property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getIssues().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link Issue }
+     *
+     * 
      */
     public List<Issue> getIssues()
     {
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/ObjectFactory.java b/src/main/java/pl/itcrowd/youtrack/api/rest/ObjectFactory.java
index 2eae2b5..95272a5 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/ObjectFactory.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/ObjectFactory.java
@@ -2,6 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
@@ -10,18 +11,20 @@ import javax.xml.bind.annotation.XmlElementDecl;
 import javax.xml.bind.annotation.XmlRegistry;
 import javax.xml.namespace.QName;
 
+
 /**
- * This object contains factory methods for each
- * Java content interface and Java element interface
- * generated in the pl.itcrowd.youtrack.api.rest package.
- * <p>An ObjectFactory allows you to programatically
- * construct new instances of the Java representation
- * for XML content. The Java representation of XML
- * content can consist of schema derived interfaces
- * and classes representing the binding of schema
- * type definitions, element declarations and model
- * groups.  Factory methods for each of these are
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the pl.itcrowd.youtrack.api.rest package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
  * provided in this class.
+ * 
  */
 @XmlRegistry
 public class ObjectFactory {
@@ -44,6 +47,7 @@ public class ObjectFactory {
 
     /**
      * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: pl.itcrowd.youtrack.api.rest
+     * 
      */
     public ObjectFactory()
     {
@@ -51,6 +55,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link AssignedByType }
+     *
      */
     public AssignedByType createAssignedByType()
     {
@@ -59,6 +64,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link AssigneeList }
+     *
      */
     public AssigneeList createAssigneeList()
     {
@@ -67,6 +73,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link AssigneeList.Assignees }
+     *
      */
     public AssigneeList.Assignees createAssigneeListAssignees()
     {
@@ -75,6 +82,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link AssigneeType }
+     *
      */
     public AssigneeType createAssigneeType()
     {
@@ -83,6 +91,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link Comment }
+     *
      */
     public Comment createComment()
     {
@@ -91,6 +100,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "replies", scope = Comment.class)
     public JAXBElement<String> createCommentReplies(String value)
@@ -100,6 +110,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link Comment.Value }
+     *
      */
     public Comment.Value createCommentValue()
     {
@@ -108,6 +119,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link Comment.Value }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "value", scope = Comment.class)
     public JAXBElement<Comment.Value> createCommentValue(Comment.Value value)
@@ -117,6 +129,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link Enumeration }
+     *
      */
     public Enumeration createEnumeration()
     {
@@ -125,6 +138,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link Enumeration }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "enumeration")
     public JAXBElement<Enumeration> createEnumeration(Enumeration value)
@@ -134,6 +148,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link EnumerationValue }
+     *
      */
     public EnumerationValue createEnumerationValue()
     {
@@ -142,6 +157,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link ErrorType }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "error")
     public JAXBElement<ErrorType> createError(ErrorType value)
@@ -151,6 +167,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link ErrorType }
+     *
      */
     public ErrorType createErrorType()
     {
@@ -159,6 +176,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "field", scope = ErrorType.class)
     public JAXBElement<String> createErrorTypeField(String value)
@@ -168,6 +186,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "message", scope = ErrorType.class)
     public JAXBElement<String> createErrorTypeMessage(String value)
@@ -177,6 +196,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link Field }
+     *
      */
     public Field createField()
     {
@@ -185,6 +205,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link Field.Value }
+     *
      */
     public Field.Value createFieldValue()
     {
@@ -193,6 +214,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link Short }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "int")
     public JAXBElement<Short> createInt(Short value)
@@ -201,7 +223,25 @@ public class ObjectFactory {
     }
 
     /**
+     * Create an instance of {@link IntelliSense }
+     *
+     */
+    public IntelliSense createIntelliSense()
+    {
+        return new IntelliSense();
+    }
+
+    /**
+     * Create an instance of {@link IntelliSense.Suggest }
+     */
+    public IntelliSense.Suggest createIntelliSenseSuggest()
+    {
+        return new IntelliSense.Suggest();
+    }
+
+    /**
      * Create an instance of {@link Issue }
+     *
      */
     public Issue createIssue()
     {
@@ -210,6 +250,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link JAXBElement }{@code <}{@link Issue }{@code >}}
+     *
      */
     @XmlElementDecl(namespace = "", name = "issue")
     public JAXBElement<Issue> createIssue(Issue value)
@@ -219,6 +260,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link IssueCompacts }
+     *
      */
     public IssueCompacts createIssueCompacts()
     {
@@ -226,7 +268,17 @@ public class ObjectFactory {
     }
 
     /**
+     * Create an instance of {@link IssueItem }
+     *
+     */
+    public IssueItem createIssueItem()
+    {
+        return new IssueItem();
+    }
+
+    /**
      * Create an instance of {@link Issues }
+     *
      */
     public Issues createIssues()
     {
@@ -235,6 +287,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link User }
+     *
      */
     public User createUser()
     {
@@ -243,6 +296,7 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link UserGroupRefType }
+     *
      */
     public UserGroupRefType createUserGroupRefType()
     {
@@ -251,9 +305,11 @@ public class ObjectFactory {
 
     /**
      * Create an instance of {@link UserRefs }
+     *
      */
     public UserRefs createUserRefs()
     {
         return new UserRefs();
     }
+
 }
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/User.java b/src/main/java/pl/itcrowd/youtrack/api/rest/User.java
index 69e0069..535725c 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/User.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/User.java
@@ -2,6 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
@@ -11,11 +12,12 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlSchemaType;
 import javax.xml.bind.annotation.XmlType;
 
+
 /**
  * <p>Java class for userType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="userType">
  *   &lt;complexContent>
@@ -26,6 +28,8 @@ import javax.xml.bind.annotation.XmlType;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "userType")
@@ -33,7 +37,6 @@ public class User {
 
     @XmlAttribute(required = true)
     protected String login;
-
     @XmlAttribute
     @XmlSchemaType(name = "anyURI")
     protected String url;
@@ -41,8 +44,10 @@ public class User {
     /**
      * Gets the value of the login property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
     public String getLogin()
     {
@@ -52,8 +57,10 @@ public class User {
     /**
      * Sets the value of the login property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
      */
     public void setLogin(String value)
     {
@@ -63,8 +70,10 @@ public class User {
     /**
      * Gets the value of the url property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
      */
     public String getUrl()
     {
@@ -74,8 +83,10 @@ public class User {
     /**
      * Sets the value of the url property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
      */
     public void setUrl(String value)
     {
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/UserGroupRefType.java b/src/main/java/pl/itcrowd/youtrack/api/rest/UserGroupRefType.java
index 20b0c51..f177efc 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/UserGroupRefType.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/UserGroupRefType.java
@@ -2,6 +2,7 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
@@ -11,11 +12,12 @@ import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlType;
 import javax.xml.bind.annotation.XmlValue;
 
+
 /**
  * <p>Java class for userGroupRefType complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType name="userGroupRefType">
  *   &lt;simpleContent>
@@ -26,47 +28,29 @@ import javax.xml.bind.annotation.XmlValue;
  *   &lt;/simpleContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "userGroupRefType", propOrder = {"value"})
 public class UserGroupRefType {
 
-    @XmlValue
-    protected String value;
-
     @XmlAttribute
     protected String name;
 
     @XmlAttribute
     protected String url;
 
-    /**
-     * Gets the value of the value property.
-     *
-     * @return possible object is
-     *         {@link String }
-     */
-    public String getValue()
-    {
-        return value;
-    }
-
-    /**
-     * Sets the value of the value property.
-     *
-     * @param value allowed object is
-     *              {@link String }
-     */
-    public void setValue(String value)
-    {
-        this.value = value;
-    }
+    @XmlValue
+    protected String value;
 
     /**
      * Gets the value of the name property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getName()
     {
@@ -76,8 +60,10 @@ public class UserGroupRefType {
     /**
      * Sets the value of the name property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setName(String value)
     {
@@ -87,8 +73,10 @@ public class UserGroupRefType {
     /**
      * Gets the value of the url property.
      *
-     * @return possible object is
-     *         {@link String }
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
      */
     public String getUrl()
     {
@@ -98,11 +86,39 @@ public class UserGroupRefType {
     /**
      * Sets the value of the url property.
      *
-     * @param value allowed object is
-     *              {@link String }
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
      */
     public void setUrl(String value)
     {
         this.url = value;
     }
+
+    /**
+     * Gets the value of the value property.
+     *
+     * @return
+     *     possible object is
+     *     {@link String }
+     *
+     */
+    public String getValue()
+    {
+        return value;
+    }
+
+    /**
+     * Sets the value of the value property.
+     *
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *
+     */
+    public void setValue(String value)
+    {
+        this.value = value;
+    }
 }
diff --git a/src/main/java/pl/itcrowd/youtrack/api/rest/UserRefs.java b/src/main/java/pl/itcrowd/youtrack/api/rest/UserRefs.java
index bde9479..752c374 100644
--- a/src/main/java/pl/itcrowd/youtrack/api/rest/UserRefs.java
+++ b/src/main/java/pl/itcrowd/youtrack/api/rest/UserRefs.java
@@ -2,22 +2,24 @@
 // This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-833 
 // See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
 // Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2015.12.18 at 12:37:27 PM CET 
 //
 package pl.itcrowd.youtrack.api.rest;
 
+import java.util.ArrayList;
+import java.util.List;
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+
 
 /**
  * <p>Java class for anonymous complex type.
- * <p/>
+ * 
  * <p>The following schema fragment specifies the expected content contained within this class.
- * <p/>
+ * 
  * <pre>
  * &lt;complexType>
  *   &lt;complexContent>
@@ -29,6 +31,8 @@ import java.util.List;
  *   &lt;/complexContent>
  * &lt;/complexType>
  * </pre>
+ *
+ * 
  */
 @XmlAccessorType(XmlAccessType.FIELD)
 @XmlType(name = "", propOrder = {"users"})
@@ -40,23 +44,25 @@ public class UserRefs {
 
     /**
      * Gets the value of the users property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * This accessor method returns a reference to the live list,
      * not a snapshot. Therefore any modification you make to the
      * returned list will be present inside the JAXB object.
      * This is why there is not a <CODE>set</CODE> method for the users property.
-     * <p/>
-     * <p/>
+     *
+     * <p>
      * For example, to add a new item, do as follows:
      * <pre>
      *    getUsers().add(newItem);
      * </pre>
-     * <p/>
-     * <p/>
-     * <p/>
+     *
+     *
+     * <p>
      * Objects of the following type(s) are allowed in the list
      * {@link User }
+     *
+     * 
      */
     public List<User> getUsers()
     {
diff --git a/src/main/xjb/bindings.xjb b/src/main/xjb/bindings.xjb
index 6497e79..bb62a21 100644
--- a/src/main/xjb/bindings.xjb
+++ b/src/main/xjb/bindings.xjb
@@ -1,5 +1,4 @@
-<jxb:bindings version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
-              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+<jxb:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0"
               xsi:schemaLocation="http://java.sun.com/xml/ns/jaxb http://java.sun.com/xml/ns/jaxb/bindingschema_2_0.xsd">
 
 
@@ -9,6 +8,12 @@
         </jxb:bindings>
     </jxb:bindings>
 
+    <jxb:bindings schemaLocation="../xsd/IntelliSense.xsd" node="/xs:schema">
+        <jxb:bindings node=".//xs:element[@name='IntelliSense']//xs:sequence[@id='suggest']">
+            <jxb:property name="items"/>
+        </jxb:bindings>
+    </jxb:bindings>
+
     <jxb:bindings schemaLocation="../xsd/issues.xsd" node="/xs:schema">
         <jxb:bindings node=".//xs:element[@name='issueCompacts']//xs:sequence[@id='issues']">
             <jxb:property name="issues"/>
diff --git a/src/main/xsd/IntelliSense.xml b/src/main/xsd/IntelliSense.xml
new file mode 100644
index 0000000..a98057f
--- /dev/null
+++ b/src/main/xsd/IntelliSense.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<IntelliSense>
+    <suggest>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-1</option>
+            <complete>true</complete>
+            <suffix></suffix>
+            <description>Save visible calendar selectio</description>
+            <caret>14</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-10</option>
+            <suffix></suffix>
+            <description>Redirect workers to calendar a</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-11</option>
+            <suffix></suffix>
+            <description>Initially select current month</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-12</option>
+            <suffix></suffix>
+            <description>Month view</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-13</option>
+            <suffix></suffix>
+            <description>Fix share report for current m</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-14</option>
+            <suffix></suffix>
+            <description>Work by issue report</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-15</option>
+            <suffix></suffix>
+            <description>Work by module report</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-16</option>
+            <suffix></suffix>
+            <description>Allow selection of start date</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-17</option>
+            <suffix></suffix>
+            <description>Add units for data</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-18</option>
+            <suffix></suffix>
+            <description>ViewExpiredException</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-19</option>
+            <suffix></suffix>
+            <description>Add current time line</description>
+            <caret>15</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-100</option>
+            <suffix></suffix>
+            <description>After changing search criteria</description>
+            <caret>16</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-101</option>
+            <suffix></suffix>
+            <description>Introduce "Customers" filter i</description>
+            <caret>16</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-102</option>
+            <suffix></suffix>
+            <description>Customer CRUD</description>
+            <caret>16</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+        <item>
+            <styleClass>field</styleClass>
+            <option>TT-103</option>
+            <suffix></suffix>
+            <description>Create tickets for bugs and fe</description>
+            <caret>16</caret>
+            <completion start="9" end="13"/>
+            <match start="0" end="4"/>
+        </item>
+    </suggest>
+    <recent/>
+    <highlight>
+        <range>
+            <styleClass>keyword</styleClass>
+            <start>0</start>
+            <end>8</end>
+        </range>
+        <range>
+            <styleClass>field</styleClass>
+            <start>9</start>
+            <end>13</end>
+        </range>
+    </highlight>
+</IntelliSense>
\ No newline at end of file
diff --git a/src/main/xsd/IntelliSense.xsd b/src/main/xsd/IntelliSense.xsd
new file mode 100644
index 0000000..3e5dd3f
--- /dev/null
+++ b/src/main/xsd/IntelliSense.xsd
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
+    <xs:include schemaLocation="types.xsd"/>
+    <xs:element name="IntelliSense">
+        <xs:complexType>
+            <xs:sequence id="IntelliSense">
+                <xs:element name="suggest">
+                    <xs:complexType>
+                        <xs:sequence id="suggest">
+                            <xs:element type="issueItem" name="item" maxOccurs="unbounded" minOccurs="0"/>
+                        </xs:sequence>
+                    </xs:complexType>
+                </xs:element>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+</xs:schema>
\ No newline at end of file
diff --git a/src/main/xsd/types.xsd b/src/main/xsd/types.xsd
index 936f833..71d7187 100644
--- a/src/main/xsd/types.xsd
+++ b/src/main/xsd/types.xsd
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<xs:schema attributeFormDefault="unqualified" elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.1.0">
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="unqualified" version="1.1.0">
 
     <xs:complexType name="assignedByType">
         <xs:sequence>
@@ -57,6 +57,13 @@
         <xs:attribute type="xs:string" name="id" use="optional"/>
     </xs:complexType>
 
+    <xs:complexType name="issueItem">
+        <xs:sequence>
+            <xs:element type="xs:string" name="option"/>
+            <xs:element type="xs:string" name="description"/>
+        </xs:sequence>
+    </xs:complexType>
+
     <xs:complexType name="commentType" mixed="true">
         <xs:sequence>
             <xs:element type="xs:string" name="replies" minOccurs="0"/>
--
libgit2 0.24.0