@Override
  public void checkClass(TypeElement e) throws ProcessorError {
    // support any class that implements Parcelable
    if (!ProcessorUtils.isSubClassOf(e, Parcelable.class)) {
      throw new ProcessorError(e, ParcelErrorMsg.Invalid_Parcel_class);
    }

    // check constructor
    if (!hasParcelableConstructor(e)) {
      throw new ProcessorError(e, ParcelErrorMsg.Parcel_class_without_constructor);
    }
  }