code: protected List<Boolean> access(final Select _select)
          throws EFapsException
      {
          List<Boolean> ret = new ArrayList<>();
          // remove the IAuxillary to determine the size
          int size = _select.getElements().size();
          while (_select.getElements().get(size - 1) instanceof IAuxillary) {
              size--;
          }
          if (size == 1) {
              ret.add(this.access.hasAccess(inst()));
          } else {
              int idx = 0;
              boolean accessTemp = true;
              while (idx < size && accessTemp) {
                  final AbstractElement<?> element = _select.getElements().get(idx);
                  idx++;
                  final Select instSelect = this.selection.getInstSelects().get(element.getPath());
                  if (element instanceof AttributeSetElement) {
                      idx = size;
                      if (instSelect.getCurrent() != null && instSelect.getCurrent() instanceof Collection) {
                          ret = Collections.nCopies(((Collection<?>) instSelect.getCurrent()).size(), true);
                      }
                  } else {
                      if (instSelect == null) {
                          LOG.error("Could not retrieve Instance Select for Path {}", element.getPath());
                      }
                      final Object obj = instSelect.getCurrent();
                      if (obj instanceof Instance) {
                          accessTemp = this.access.hasAccess((Instance) obj);
                          ret.clear();
                          ret.add(accessTemp);
                      } else if (obj instanceof List) {
                          if (ret.isEmpty()) {
                              ret = ((List<?>) obj).stream()
                                              .map(ele -> this.access.hasAccess((Instance) ele))
                                              .collect(Collectors.toList());
                          } else {
                              final Iterator<Boolean> iter = ret.iterator();
                              ret = ((List<?>) obj).stream()
                                              .map(ele -> iter.next() && this.access.hasAccess((Instance) ele))
                                              .collect(Collectors.toList());
                          }
                          accessTemp = ret.contains(true);
                      }
                  }
              }
          }
          return ret;
      }
docs: Checks for access.
  
  @param _select the select
  @return true, if successful
  @throws EFapsException on Error