code: @SuppressWarnings("unchecked")
      protected <T extends Service<I, O>> T serviceAt(int index) {
          return (T) services().get(index).service();
      }
docs: Returns the {@code index}-th {@link Service} in this composite {@link Service}. The index of the
  {@link Service} added first is {@code 0}, and so on.