code: private void checkNeededValues(TransformationDescription description) {
          String message = "The TransformationDescription doesn't contain a %s. Description loading aborted";
          if (description.getSourceModel().getModelClassName() == null) {
              throw new IllegalArgumentException(String.format(message, "source class"));
          }
          if (description.getTargetModel().getModelClassName() == null) {
              throw new IllegalArgumentException(String.format(message, "target class"));
          }
          String message2 = "The version string of the %s is not a correct version string. Description loading aborted";
          try {
              Version.parseVersion(description.getSourceModel().getVersionString());
          } catch (IllegalArgumentException e) {
              throw new IllegalArgumentException(String.format(message2, "source class"), e);            
          }
          try {
              Version.parseVersion(description.getTargetModel().getVersionString());
          } catch (IllegalArgumentException e) {
              throw new IllegalArgumentException(String.format(message2, "target class"), e);            
          }
      }
docs: Does the checking of all necessary values of the TransformationDescription which are needed to process the
  description