Program: 413
Project: 413
Buggy source:
/** 
 * Registers all available command methods annotated with   {@link org.terasology.logic.console.commandSystem.annotations.Command}.
 */
public static void registerAvailable(Object provider,Console console,Context context){
  Predicate<? super Method> predicate=Predicates.<Method>and(ReflectionUtils.withModifier(Modifier.PUBLIC),ReflectionUtils.withAnnotation(Command.class));
  Set<Method> commandMethods=ReflectionUtils.getAllMethods(provider.getClass(),predicate);
  for (  Method method : commandMethods) {
    final Class[] paramTypes=method.getParameterTypes();
    final Annotation[][] paramAnnotations=method.getParameterAnnotations();
    for (int i=0; i < paramAnnotations.length; i++) {
      if (paramTypes[i].getTypeName().equals(ENTITY_REF_NAME)) {
        if (paramAnnotations[i].length == 0) {
          logger.info("String_Node_Str",method.getName());
        }
 else {
          for (          Annotation annotation : paramAnnotations[i]) {
            if (annotation instanceof Sender) {
            }
 else {
              logger.info("String_Node_Str",method.getName());
            }
          }
        }
      }
    }
    logger.debug("String_Node_Str",method.getName(),method.getDeclaringClass().getCanonicalName());
    try {
      SpecificAccessibleObject<Method> specificMethod=new SpecificAccessibleObject<>(method,provider);
      MethodCommand command=referringTo(specificMethod,context);
      console.registerCommand(command);
      logger.debug("String_Node_Str",method.getName(),method.getDeclaringClass().getCanonicalName());
    }
 catch (    RuntimeException t) {
      logger.error("String_Node_Str",method.getName(),method.getDeclaringClass().getCanonicalName(),t);
    }
  }
}

Fixed version (ground truth):
/** 
 * Registers all available command methods annotated with   {@link org.terasology.logic.console.commandSystem.annotations.Command}.
 */
public static void registerAvailable(Object provider,Console console,Context context){
  Predicate<? super Method> predicate=Predicates.<Method>and(ReflectionUtils.withModifier(Modifier.PUBLIC),ReflectionUtils.withAnnotation(Command.class));
  Set<Method> commandMethods=ReflectionUtils.getAllMethods(provider.getClass(),predicate);
  for (  Method method : commandMethods) {
    final Class[] paramTypes=method.getParameterTypes();
    final Annotation[][] paramAnnotations=method.getParameterAnnotations();
    boolean hasSenderAnnotation=false;
    for (int i=0; i < paramAnnotations.length; i++) {
      if (paramTypes[i].getTypeName().equals(ENTITY_REF_NAME)) {
        if (paramAnnotations[i].length == 0) {
          logger.error("String_Node_Str",method.getName(),provider.getClass().getSimpleName());
        }
 else {
          for (          Annotation annotation : paramAnnotations[i]) {
            if (annotation instanceof Sender) {
              hasSenderAnnotation=true;
            }
          }
          if (!hasSenderAnnotation) {
            logger.error("String_Node_Str",method.getName(),provider.getClass().getSimpleName());
          }
        }
      }
    }
    logger.debug("String_Node_Str",method.getName(),method.getDeclaringClass().getCanonicalName());
    try {
      SpecificAccessibleObject<Method> specificMethod=new SpecificAccessibleObject<>(method,provider);
      MethodCommand command=referringTo(specificMethod,context);
      console.registerCommand(command);
      logger.debug("String_Node_Str",method.getName(),method.getDeclaringClass().getCanonicalName());
    }
 catch (    RuntimeException t) {
      logger.error("String_Node_Str",method.getName(),method.getDeclaringClass().getCanonicalName(),t);
    }
  }
}