code: @SuppressWarnings("unchecked")
      @Override
      protected void ready() throws CoreException {
  
          // FIXME fix leaks
          this.data = (D) key().optionalData()
                               .stream()
                               .filter(d -> d instanceof BehaviorData)
                               .findFirst()
                               .get();
  
          this.component = (C) key().optionalData()
                                    .stream()
                                    .filter(d -> d instanceof BehavioredComponent<?>)
                                    .findFirst()
                                    .get();
  
          initBehavior();
  
      }
docs: {@inheritDoc}