@Nonnull
  public DomainObjectDescriptor create() {
    DomainObjectDescriptor domainObjectDescriptor = new DomainObjectDescriptor(classDeclaration);

    Collection<FieldDeclaration> fields =
        TypeUtils.findFieldsIncludingSuperClasses(classDeclaration);
    for (FieldDeclaration fieldDeclaration : fields) {
      if (TypeUtils.isStatic(fieldDeclaration)) {
        continue;
      }
      FieldWithInitializationInfo info = getFieldWithInitializationInfo(fieldDeclaration);
      domainObjectDescriptor.addField(info);
    }

    return domainObjectDescriptor;
  }