docs: private MtasSolrCollectionResult createMtasSolrCollectionResult(
        ComponentCollection componentCollection, boolean storeIfRelevant)
        throws IOException {
      // System.out.println("collection: " + System.nanoTime() + " - "
      // + Thread.currentThread().getId() + " - " + " CREATE ");
      if (componentCollection != null) {
        // Create response
        MtasSolrCollectionResult data = new MtasSolrCollectionResult(
            componentCollection);
        if (componentCollection.action()
            .equals(ComponentCollection.ACTION_CREATE)) {
          if (storeIfRelevant && componentCollection.version == null) {
            componentCollection.version = searchComponent.getCollectionCache()
                .create(componentCollection.id,
                    componentCollection.values().size(),
                    componentCollection.values(), null);
          }
          data.setCreate(searchComponent.getCollectionCache().now(),
              searchComponent.getCollectionCache().check(componentCollection.id));
        } else if (componentCollection.action()
            .equals(ComponentCollection.ACTION_LIST)) {
          // retrieve and add list to result
          data.setList(searchComponent.getCollectionCache().now(),
              searchComponent.getCollectionCache().list());
        } else if (componentCollection.action()
            .equals(ComponentCollection.ACTION_CHECK)) {
          // retrieve and add status to result
          data.setCheck(searchComponent.getCollectionCache().now(),
              searchComponent.getCollectionCache().check(componentCollection.id));
        } else if (componentCollection.action()
            .equals(ComponentCollection.ACTION_GET)) {
          // retrieve and add status to result
          HashSet<String> values = searchComponent.getCollectionCache()
              .getDataById(componentCollection.id);
          if (values != null) {
            data.setGet(searchComponent.getCollectionCache().now(),
                searchComponent.getCollectionCache()
                    .check(componentCollection.id),
                values);
          }
        } else if (componentCollection.action()
            .equals(ComponentCollection.ACTION_EMPTY)) {
          // empty
          searchComponent.getCollectionCache().empty();
        } else if (componentCollection.action()
            .equals(ComponentCollection.ACTION_POST)) {
          // store if not already stored
          if (componentCollection.version == null) {
            componentCollection.version = searchComponent.getCollectionCache()
                .create(componentCollection.id,
                    componentCollection.values().size(),
                    componentCollection.values(), componentCollection.originalVersion());
          }
          // add status to result
          data.setPost(searchComponent.getCollectionCache().now(),
              searchComponent.getCollectionCache().check(componentCollection.id));
        } else if (componentCollection.action()
            .equals(ComponentCollection.ACTION_IMPORT)) {
          // import if not already stored
          if (componentCollection.version == null) {
            componentCollection.version = searchComponent.getCollectionCache()
                .create(componentCollection.id,
                    componentCollection.values().size(),
                    componentCollection.values(), null);
          }
          // add status to result
          data.setImport(searchComponent.getCollectionCache().now(),
              searchComponent.getCollectionCache().check(componentCollection.id));
        } else if (componentCollection.action()
            .equals(ComponentCollection.ACTION_DELETE)) {
          searchComponent.getCollectionCache().deleteById(componentCollection.id);
        }
        return data;
      } else {
        throw new IOException("no componentCollection available");
      }
    }