public MLNPredicateApplication buildMLNPredicateApplicationFromNames(
     String predicate, List<MLNVarArgument> arguments) {
   MLNPredicateApplication pA =
       addMlnObject(
           new MLNPredicateApplication(getForName(MLNPredicate.class, predicate), arguments));
   unusedPredicates.remove(pA.getPredicate());
   return pA;
 }
 public MLNPredicateApplication buildMLNPredicateApplication(MLNGroundAtom atom) {
   List<MLNVarArgument> arguments = new ArrayList<MLNVarArgument>();
   for (MLNGroundArgument groundArgument : atom.getArguments()) {
     arguments.add(buildMLNVarArgument(groundArgument));
   }
   MLNPredicateApplication pA = buildMLNPredicateApplication(atom.getPredicate(), arguments);
   unusedPredicates.remove(pA.getPredicate());
   return pA;
 }
 public MLNPredicateApplication buildMLNPredicateApplication(
     MLNPredicate predicate, List<MLNVarArgument> arguments) {
   MLNPredicateApplication pA = addMlnObject(new MLNPredicateApplication(predicate, arguments));
   unusedPredicates.remove(pA.getPredicate());
   return pA;
 }