Program: 3037
Project: 3037
Buggy source:
/** 
 * Checks that element annotated with   {@link StorIOColumnMeta} satisfies all required conditions.
 * @param annotatedElement an annotated field
 * @throws SkipNotAnnotatedClassWithAnnotatedParentException
 */
protected void validateAnnotatedFieldOrMethod(@NotNull final Element annotatedElement) throws SkipNotAnnotatedClassWithAnnotatedParentException {
  final Element enclosingElement=annotatedElement.getEnclosingElement();
  if (enclosingElement.getKind() != CLASS) {
    throw new ProcessingException(annotatedElement,"String_Node_Str" + getColumnAnnotationClass().getSimpleName() + "String_Node_Str"+ annotatedElement.getSimpleName());
  }
  if (enclosingElement.getAnnotation(getTypeAnnotationClass()) == null) {
    Element superClass=typeUtils.asElement(((TypeElement)enclosingElement).getSuperclass());
    if (superClass.getAnnotation(getTypeAnnotationClass()) != null) {
      throw new SkipNotAnnotatedClassWithAnnotatedParentException("String_Node_Str" + getTypeAnnotationClass().getSimpleName() + "String_Node_Str"+ getTypeAnnotationClass().getSimpleName()+ "String_Node_Str");
    }
 else {
      throw new ProcessingException(annotatedElement,"String_Node_Str" + enclosingElement.getSimpleName() + "String_Node_Str"+ getTypeAnnotationClass().getSimpleName());
    }
  }
  if (annotatedElement.getKind() == FIELD && annotatedElement.getModifiers().contains(PRIVATE)) {
    throw new ProcessingException(annotatedElement,getColumnAnnotationClass().getSimpleName() + "String_Node_Str" + annotatedElement.getSimpleName());
  }
  if (annotatedElement.getKind() == FIELD && annotatedElement.getModifiers().contains(FINAL)) {
    throw new ProcessingException(annotatedElement,getColumnAnnotationClass().getSimpleName() + "String_Node_Str" + annotatedElement.getSimpleName());
  }
  if (annotatedElement.getKind() == METHOD && !((ExecutableElement)annotatedElement).getParameters().isEmpty()) {
    throw new ProcessingException(annotatedElement,getColumnAnnotationClass().getSimpleName() + "String_Node_Str" + annotatedElement.getSimpleName());
  }
}

Fixed version (ground truth):
/** 
 * Checks that element annotated with   {@link StorIOColumnMeta} satisfies all required conditions.
 * @param annotatedElement an annotated field
 * @throws SkipNotAnnotatedClassWithAnnotatedParentException
 */
protected void validateAnnotatedFieldOrMethod(@NotNull final Element annotatedElement) throws SkipNotAnnotatedClassWithAnnotatedParentException {
  final Element enclosingElement=annotatedElement.getEnclosingElement();
  if (enclosingElement.getKind() != CLASS) {
    throw new ProcessingException(annotatedElement,"String_Node_Str" + getColumnAnnotationClass().getSimpleName() + "String_Node_Str"+ annotatedElement.getSimpleName());
  }
  if (enclosingElement.getAnnotation(getTypeAnnotationClass()) == null) {
    Element superClass=typeUtils.asElement(((TypeElement)enclosingElement).getSuperclass());
    if (superClass.getAnnotation(getTypeAnnotationClass()) != null) {
      throw new SkipNotAnnotatedClassWithAnnotatedParentException("String_Node_Str" + getTypeAnnotationClass().getSimpleName() + "String_Node_Str"+ getTypeAnnotationClass().getSimpleName()+ "String_Node_Str");
    }
 else {
      throw new ProcessingException(annotatedElement,"String_Node_Str" + enclosingElement.getSimpleName() + "String_Node_Str"+ getTypeAnnotationClass().getSimpleName());
    }
  }
  if (annotatedElement.getModifiers().contains(PRIVATE)) {
    throw new ProcessingException(annotatedElement,getColumnAnnotationClass().getSimpleName() + "String_Node_Str" + annotatedElement.getSimpleName());
  }
  if (annotatedElement.getKind() == FIELD && annotatedElement.getModifiers().contains(FINAL)) {
    throw new ProcessingException(annotatedElement,getColumnAnnotationClass().getSimpleName() + "String_Node_Str" + annotatedElement.getSimpleName());
  }
  if (annotatedElement.getKind() == METHOD && !((ExecutableElement)annotatedElement).getParameters().isEmpty()) {
    throw new ProcessingException(annotatedElement,getColumnAnnotationClass().getSimpleName() + "String_Node_Str" + annotatedElement.getSimpleName());
  }
}