@Override
	public ContextGraph add(GraphComponent component)
	{
		if((component instanceof NodeP) && ((NodeP) component).isGeneric())
			throw new IllegalArgumentException("Generic nodes are not allowed");
		if((component instanceof Node) && ((Node) component).getLabel().startsWith(NodeP.NODEP_LABEL))
			throw new IllegalArgumentException("Generic nodes are not allowed");
		// TODO this is not efficient -- a index of labels should be used
		if((component instanceof Node) && !getNodesNamed(((Node) component).getLabel()).isEmpty())
			throw new IllegalArgumentException("Multiple nodes with the same name are not allowed");

		super.add(component);
		return this;
	}