code: public static Jsr250Executor createJsr250Executor(Injector injector, final Logger log, Scope... scopes ) {
      final Set<Object> instances = findInstancesInScopes(injector, scopes);
      final List<Object> reverseInstances = new ArrayList<Object>(instances);
      Collections.reverse(reverseInstances);
      return new Jsr250Executor() {
  
        @Override
        public Set<Object> getInstances() {
          return instances;
        }
  
        @Override
        public void postConstruct() {
          for( Object instance : instances ) {
            postConstructQuietly(instance, log);
          }
        }
  
        @Override
        public void preDestroy() {
          for( Object instance : reverseInstances ) {
            preDestroyQuietly(instance, log);
          }
        }
        
      };
    }
docs: Creates a Jsr250Executor for the specified scopes.
  
  @param injector
  @param log
  @param scopes
  @return