@Override
  public Resource apply(Resource from) {
    checkNotNull(from, "Cannot execute transformation " + this + ", on null parameter.");

    final EMFModel result = transform(inject(from, get(OWLPackage.eNS_URI)), owl2ecore());

    if (result != null && needRefiningTransformation(options)) {
      final EMFModel model = transform(result, new EcoreRefine());
      return model == null ? null : model.getResource();
    } else {
      return result == null ? null : result.getResource();
    }
  }