Program: 136238
Project: 136238
Buggy source:
/** 
 * Move a node from its library to a different library. Moves the node and underlying TL object.
 * @param source
 * @param destination
 */
public boolean moveMember(final Node source,LibraryNode destination) throws IllegalArgumentException {
  if (source == null || source.getModelObject() == null || source.getTLModelObject() == null)   throw new IllegalArgumentException("String_Node_Str");
  if (!(source instanceof ComponentNode))   throw new IllegalArgumentException(source + "String_Node_Str");
  if (destination == null)   throw new IllegalArgumentException("String_Node_Str");
  if (!(destination.getTLaLib() instanceof TLLibrary))   throw new IllegalArgumentException("String_Node_Str");
  if (source instanceof ServiceNode)   return false;
  addListeners();
  destination.addListeners();
  if (source instanceof ContextualFacetNode && !(source instanceof ContributedFacetNode)) {
    TLContextualFacet tlSource=((ContextualFacetNode)source).getTLModelObject();
    tlSource.getOwningLibrary().removeNamedMember(tlSource);
    destination.getTLLibrary().addNamedMember(tlSource);
  }
 else   try {
    source.getLibrary().getTLLibrary().moveNamedMember((TLLibraryMember)source.getTLModelObject(),destination.getLibrary().getTLLibrary());
  }
 catch (  Exception e) {
    destination=this;
  }
  removeListeners();
  destination.removeListeners();
  destination.collapseContexts();
  assert(destination.getTLLibrary().getContexts().size() == 1);
  return true;
}

Fixed version (ground truth):
/** 
 * Move a node from its library to a different library. Moves the node and underlying TL object.
 * @param source
 * @param destination
 */
public boolean moveMember(final Node source,LibraryNode destination) throws IllegalArgumentException {
  if (source == null || source.getModelObject() == null || source.getTLModelObject() == null)   throw new IllegalArgumentException("String_Node_Str");
  if (!(source instanceof ComponentNode))   throw new IllegalArgumentException(source + "String_Node_Str");
  if (destination == null)   throw new IllegalArgumentException("String_Node_Str");
  if (!(destination.getTLModelObject() instanceof TLLibrary))   throw new IllegalArgumentException("String_Node_Str");
  if (source.getLibrary() != this)   throw new IllegalArgumentException("String_Node_Str");
  if (source instanceof ServiceNode)   throw new IllegalArgumentException("String_Node_Str");
  if (Node.GetNode(getTLModelObject()) != this)   throw new IllegalArgumentException("String_Node_Str" + this);
  if (Node.GetNode(destination.getTLModelObject()) != destination)   throw new IllegalArgumentException("String_Node_Str" + destination);
  if (source instanceof ContextualFacetNode && !(source instanceof ContributedFacetNode)) {
    TLContextualFacet tlSource=((ContextualFacetNode)source).getTLModelObject();
    tlSource.getOwningLibrary().removeNamedMember(tlSource);
    destination.getTLLibrary().addNamedMember(tlSource);
  }
 else   try {
    getTLLibrary().moveNamedMember((TLLibraryMember)source.getTLModelObject(),destination.getTLLibrary());
  }
 catch (  Exception e) {
    destination=this;
    throw new IllegalArgumentException("String_Node_Str" + e.getLocalizedMessage());
  }
  destination.collapseContexts();
  assert(destination.getTLLibrary().getContexts().size() == 1);
  return true;
}