text:
/**
 */
package archoptions.util;

import archoptions.*;

import de.uka.ipd.sdq.identifier.Identifier;

import options.Option;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;

import org.eclipse.emf.ecore.util.Switch;

import relations.AlternativeObject;
import relations.ConflictObject;
import relations.CouldResolveObject;
import relations.DependencyObject;
import relations.DuplicationObject;
import relations.ParentalObject;
import relations.RelationObject;
import relations.ResolveObject;
import relations.SelectionObject;
import relations.StakeholderObject;
import relations.TraceableObject;
import relations.TriggerObject;

/**
 *
 * The Switch for the model's inheritance hierarchy.
 * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
 * to invoke the caseXXX method for each class of the model,
 * starting with the actual class of the object
 * and proceeding up the inheritance hierarchy
 * until a non-null result is returned,
 * which is the result of the switch.
 *
 * @see archoptions.ArchoptionsPackage
 * @generated
 */
public class ArchoptionsSwitch<T> extends Switch<T> {
	/**
	 * The cached model package
	 *
	 *
	 * @generated
	 */
	protected static ArchoptionsPackage modelPackage;

	/**
	 * Creates an instance of the switch.
	 *
	 *
	 * @generated
	 */
	public ArchoptionsSwitch() {
		if (modelPackage == null) {
			modelPackage = ArchoptionsPackage.eINSTANCE;
		}
	}

	/**
	 * Checks whether this is a switch for the given package.
	 *
	 *
	 * @param ePackage the package in question.
	 * @return whether this is a switch for the given package.
	 * @generated
	 */
	@Override
	protected boolean isSwitchFor(EPackage ePackage) {
		return ePackage == modelPackage;
	}

	/**
	 * Calls caseXXX for each class of the model until one returns a non null result; it yields that result.
	 *
	 *
	 * @return the first non-null result returned by a caseXXX call.
	 * @generated
	 */
	@Override
	protected T doSwitch(int classifierID, EObject theEObject) {
		switch (classifierID) {
			case ArchoptionsPackage.PROVIDED_FUNCTIONALITY: {
				ProvidedFunctionality providedFunctionality = (ProvidedFunctionality)theEObject;
				T result = caseProvidedFunctionality(providedFunctionality);
				if (result == null) result = caseComponentOption(providedFunctionality);
				if (result == null) result = caseArchOption(providedFunctionality);
				if (result == null) result = caseOption(providedFunctionality);
				if (result == null) result = caseTraceableObject(providedFunctionality);
				if (result == null) result = caseRelationObject(providedFunctionality);
				if (result == null) result = caseConflictObject(providedFunctionality);
				if (result == null) result = caseDuplicationObject(providedFunctionality);
				if (result == null) result = caseDependencyObject(providedFunctionality);
				if (result == null) result = caseParentalObject(providedFunctionality);
				if (result == null) result = caseTriggerObject(providedFunctionality);
				if (result == null) result = caseResolveObject(providedFunctionality);
				if (result == null) result = caseAlternativeObject(providedFunctionality);
				if (result == null) result = caseCouldResolveObject(providedFunctionality);
				if (result == null) result = caseStakeholderObject(providedFunctionality);
				if (result == null) result = caseSelectionObject(providedFunctionality);
				if (result == null) result = caseIdentifier(providedFunctionality);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.REQUIRED_FUNCTIONALITY: {
				RequiredFunctionality requiredFunctionality = (RequiredFunctionality)theEObject;
				T result = caseRequiredFunctionality(requiredFunctionality);
				if (result == null) result = caseComponentOption(requiredFunctionality);
				if (result == null) result = caseArchOption(requiredFunctionality);
				if (result == null) result = caseOption(requiredFunctionality);
				if (result == null) result = caseTraceableObject(requiredFunctionality);
				if (result == null) result = caseRelationObject(requiredFunctionality);
				if (result == null) result = caseConflictObject(requiredFunctionality);
				if (result == null) result = caseDuplicationObject(requiredFunctionality);
				if (result == null) result = caseDependencyObject(requiredFunctionality);
				if (result == null) result = caseParentalObject(requiredFunctionality);
				if (result == null) result = caseTriggerObject(requiredFunctionality);
				if (result == null) result = caseResolveObject(requiredFunctionality);
				if (result == null) result = caseAlternativeObject(requiredFunctionality);
				if (result == null) result = caseCouldResolveObject(requiredFunctionality);
				if (result == null) result = caseStakeholderObject(requiredFunctionality);
				if (result == null) result = caseSelectionObject(requiredFunctionality);
				if (result == null) result = caseIdentifier(requiredFunctionality);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.FUNCTIONALITY_CONNECTION: {
				FunctionalityConnection functionalityConnection = (FunctionalityConnection)theEObject;
				T result = caseFunctionalityConnection(functionalityConnection);
				if (result == null) result = caseComponentOption(functionalityConnection);
				if (result == null) result = caseArchOption(functionalityConnection);
				if (result == null) result = caseOption(functionalityConnection);
				if (result == null) result = caseTraceableObject(functionalityConnection);
				if (result == null) result = caseRelationObject(functionalityConnection);
				if (result == null) result = caseConflictObject(functionalityConnection);
				if (result == null) result = caseDuplicationObject(functionalityConnection);
				if (result == null) result = caseDependencyObject(functionalityConnection);
				if (result == null) result = caseParentalObject(functionalityConnection);
				if (result == null) result = caseTriggerObject(functionalityConnection);
				if (result == null) result = caseResolveObject(functionalityConnection);
				if (result == null) result = caseAlternativeObject(functionalityConnection);
				if (result == null) result = caseCouldResolveObject(functionalityConnection);
				if (result == null) result = caseStakeholderObject(functionalityConnection);
				if (result == null) result = caseSelectionObject(functionalityConnection);
				if (result == null) result = caseIdentifier(functionalityConnection);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.MULTIPLE_INSTANTIATION: {
				MultipleInstantiation multipleInstantiation = (MultipleInstantiation)theEObject;
				T result = caseMultipleInstantiation(multipleInstantiation);
				if (result == null) result = caseComponentOption(multipleInstantiation);
				if (result == null) result = caseArchOption(multipleInstantiation);
				if (result == null) result = caseOption(multipleInstantiation);
				if (result == null) result = caseTraceableObject(multipleInstantiation);
				if (result == null) result = caseRelationObject(multipleInstantiation);
				if (result == null) result = caseConflictObject(multipleInstantiation);
				if (result == null) result = caseDuplicationObject(multipleInstantiation);
				if (result == null) result = caseDependencyObject(multipleInstantiation);
				if (result == null) result = caseParentalObject(multipleInstantiation);
				if (result == null) result = caseTriggerObject(multipleInstantiation);
				if (result == null) result = caseResolveObject(multipleInstantiation);
				if (result == null) result = caseAlternativeObject(multipleInstantiation);
				if (result == null) result = caseCouldResolveObject(multipleInstantiation);
				if (result == null) result = caseStakeholderObject(multipleInstantiation);
				if (result == null) result = caseSelectionObject(multipleInstantiation);
				if (result == null) result = caseIdentifier(multipleInstantiation);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.ONLY_SINGLE_INSTANTIATION: {
				OnlySingleInstantiation onlySingleInstantiation = (OnlySingleInstantiation)theEObject;
				T result = caseOnlySingleInstantiation(onlySingleInstantiation);
				if (result == null) result = caseComponentOption(onlySingleInstantiation);
				if (result == null) result = caseArchOption(onlySingleInstantiation);
				if (result == null) result = caseOption(onlySingleInstantiation);
				if (result == null) result = caseTraceableObject(onlySingleInstantiation);
				if (result == null) result = caseRelationObject(onlySingleInstantiation);
				if (result == null) result = caseConflictObject(onlySingleInstantiation);
				if (result == null) result = caseDuplicationObject(onlySingleInstantiation);
				if (result == null) result = caseDependencyObject(onlySingleInstantiation);
				if (result == null) result = caseParentalObject(onlySingleInstantiation);
				if (result == null) result = caseTriggerObject(onlySingleInstantiation);
				if (result == null) result = caseResolveObject(onlySingleInstantiation);
				if (result == null) result = caseAlternativeObject(onlySingleInstantiation);
				if (result == null) result = caseCouldResolveObject(onlySingleInstantiation);
				if (result == null) result = caseStakeholderObject(onlySingleInstantiation);
				if (result == null) result = caseSelectionObject(onlySingleInstantiation);
				if (result == null) result = caseIdentifier(onlySingleInstantiation);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.ONLY_SINGLE_ALLOCATION: {
				OnlySingleAllocation onlySingleAllocation = (OnlySingleAllocation)theEObject;
				T result = caseOnlySingleAllocation(onlySingleAllocation);
				if (result == null) result = caseDeploymentOption(onlySingleAllocation);
				if (result == null) result = caseArchOption(onlySingleAllocation);
				if (result == null) result = caseOption(onlySingleAllocation);
				if (result == null) result = caseTraceableObject(onlySingleAllocation);
				if (result == null) result = caseRelationObject(onlySingleAllocation);
				if (result == null) result = caseConflictObject(onlySingleAllocation);
				if (result == null) result = caseDuplicationObject(onlySingleAllocation);
				if (result == null) result = caseDependencyObject(onlySingleAllocation);
				if (result == null) result = caseParentalObject(onlySingleAllocation);
				if (result == null) result = caseTriggerObject(onlySingleAllocation);
				if (result == null) result = caseResolveObject(onlySingleAllocation);
				if (result == null) result = caseAlternativeObject(onlySingleAllocation);
				if (result == null) result = caseCouldResolveObject(onlySingleAllocation);
				if (result == null) result = caseStakeholderObject(onlySingleAllocation);
				if (result == null) result = caseSelectionObject(onlySingleAllocation);
				if (result == null) result = caseIdentifier(onlySingleAllocation);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.MULTIPLE_ALLOCATION: {
				MultipleAllocation multipleAllocation = (MultipleAllocation)theEObject;
				T result = caseMultipleAllocation(multipleAllocation);
				if (result == null) result = caseDeploymentOption(multipleAllocation);
				if (result == null) result = caseArchOption(multipleAllocation);
				if (result == null) result = caseOption(multipleAllocation);
				if (result == null) result = caseTraceableObject(multipleAllocation);
				if (result == null) result = caseRelationObject(multipleAllocation);
				if (result == null) result = caseConflictObject(multipleAllocation);
				if (result == null) result = caseDuplicationObject(multipleAllocation);
				if (result == null) result = caseDependencyObject(multipleAllocation);
				if (result == null) result = caseParentalObject(multipleAllocation);
				if (result == null) result = caseTriggerObject(multipleAllocation);
				if (result == null) result = caseResolveObject(multipleAllocation);
				if (result == null) result = caseAlternativeObject(multipleAllocation);
				if (result == null) result = caseCouldResolveObject(multipleAllocation);
				if (result == null) result = caseStakeholderObject(multipleAllocation);
				if (result == null) result = caseSelectionObject(multipleAllocation);
				if (result == null) result = caseIdentifier(multipleAllocation);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.ALLOCATE_TOGETHER: {
				AllocateTogether allocateTogether = (AllocateTogether)theEObject;
				T result = caseAllocateTogether(allocateTogether);
				if (result == null) result = caseDeploymentOption(allocateTogether);
				if (result == null) result = caseArchOption(allocateTogether);
				if (result == null) result = caseOption(allocateTogether);
				if (result == null) result = caseTraceableObject(allocateTogether);
				if (result == null) result = caseRelationObject(allocateTogether);
				if (result == null) result = caseConflictObject(allocateTogether);
				if (result == null) result = caseDuplicationObject(allocateTogether);
				if (result == null) result = caseDependencyObject(allocateTogether);
				if (result == null) result = caseParentalObject(allocateTogether);
				if (result == null) result = caseTriggerObject(allocateTogether);
				if (result == null) result = caseResolveObject(allocateTogether);
				if (result == null) result = caseAlternativeObject(allocateTogether);
				if (result == null) result = caseCouldResolveObject(allocateTogether);
				if (result == null) result = caseStakeholderObject(allocateTogether);
				if (result == null) result = caseSelectionObject(allocateTogether);
				if (result == null) result = caseIdentifier(allocateTogether);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.ALLOCATE_NEVER_TOGETHER: {
				AllocateNeverTogether allocateNeverTogether = (AllocateNeverTogether)theEObject;
				T result = caseAllocateNeverTogether(allocateNeverTogether);
				if (result == null) result = caseDeploymentOption(allocateNeverTogether);
				if (result == null) result = caseArchOption(allocateNeverTogether);
				if (result == null) result = caseOption(allocateNeverTogether);
				if (result == null) result = caseTraceableObject(allocateNeverTogether);
				if (result == null) result = caseRelationObject(allocateNeverTogether);
				if (result == null) result = caseConflictObject(allocateNeverTogether);
				if (result == null) result = caseDuplicationObject(allocateNeverTogether);
				if (result == null) result = caseDependencyObject(allocateNeverTogether);
				if (result == null) result = caseParentalObject(allocateNeverTogether);
				if (result == null) result = caseTriggerObject(allocateNeverTogether);
				if (result == null) result = caseResolveObject(allocateNeverTogether);
				if (result == null) result = caseAlternativeObject(allocateNeverTogether);
				if (result == null) result = caseCouldResolveObject(allocateNeverTogether);
				if (result == null) result = caseStakeholderObject(allocateNeverTogether);
				if (result == null) result = caseSelectionObject(allocateNeverTogether);
				if (result == null) result = caseIdentifier(allocateNeverTogether);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.NEVER_ALLOCATE_TO_SPECIFIC_NODES: {
				NeverAllocateToSpecificNodes neverAllocateToSpecificNodes = (NeverAllocateToSpecificNodes)theEObject;
				T result = caseNeverAllocateToSpecificNodes(neverAllocateToSpecificNodes);
				if (result == null) result = caseDeploymentOption(neverAllocateToSpecificNodes);
				if (result == null) result = caseArchOption(neverAllocateToSpecificNodes);
				if (result == null) result = caseOption(neverAllocateToSpecificNodes);
				if (result == null) result = caseTraceableObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseRelationObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseConflictObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseDuplicationObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseDependencyObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseParentalObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseTriggerObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseResolveObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseAlternativeObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseCouldResolveObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseStakeholderObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseSelectionObject(neverAllocateToSpecificNodes);
				if (result == null) result = caseIdentifier(neverAllocateToSpecificNodes);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.MOVE_COMPONENTS: {
				MoveComponents moveComponents = (MoveComponents)theEObject;
				T result = caseMoveComponents(moveComponents);
				if (result == null) result = caseDeploymentOption(moveComponents);
				if (result == null) result = caseArchOption(moveComponents);
				if (result == null) result = caseOption(moveComponents);
				if (result == null) result = caseTraceableObject(moveComponents);
				if (result == null) result = caseRelationObject(moveComponents);
				if (result == null) result = caseConflictObject(moveComponents);
				if (result == null) result = caseDuplicationObject(moveComponents);
				if (result == null) result = caseDependencyObject(moveComponents);
				if (result == null) result = caseParentalObject(moveComponents);
				if (result == null) result = caseTriggerObject(moveComponents);
				if (result == null) result = caseResolveObject(moveComponents);
				if (result == null) result = caseAlternativeObject(moveComponents);
				if (result == null) result = caseCouldResolveObject(moveComponents);
				if (result == null) result = caseStakeholderObject(moveComponents);
				if (result == null) result = caseSelectionObject(moveComponents);
				if (result == null) result = caseIdentifier(moveComponents);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.INTRODUCE_NEW_COMPONENT: {
				IntroduceNewComponent introduceNewComponent = (IntroduceNewComponent)theEObject;
				T result = caseIntroduceNewComponent(introduceNewComponent);
				if (result == null) result = caseComponentOption(introduceNewComponent);
				if (result == null) result = caseArchOption(introduceNewComponent);
				if (result == null) result = caseOption(introduceNewComponent);
				if (result == null) result = caseTraceableObject(introduceNewComponent);
				if (result == null) result = caseRelationObject(introduceNewComponent);
				if (result == null) result = caseConflictObject(introduceNewComponent);
				if (result == null) result = caseDuplicationObject(introduceNewComponent);
				if (result == null) result = caseDependencyObject(introduceNewComponent);
				if (result == null) result = caseParentalObject(introduceNewComponent);
				if (result == null) result = caseTriggerObject(introduceNewComponent);
				if (result == null) result = caseResolveObject(introduceNewComponent);
				if (result == null) result = caseAlternativeObject(introduceNewComponent);
				if (result == null) result = caseCouldResolveObject(introduceNewComponent);
				if (result == null) result = caseStakeholderObject(introduceNewComponent);
				if (result == null) result = caseSelectionObject(introduceNewComponent);
				if (result == null) result = caseIdentifier(introduceNewComponent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.INTRODUCE_NEW_ADAPTER: {
				IntroduceNewAdapter introduceNewAdapter = (IntroduceNewAdapter)theEObject;
				T result = caseIntroduceNewAdapter(introduceNewAdapter);
				if (result == null) result = caseComponentOption(introduceNewAdapter);
				if (result == null) result = caseArchOption(introduceNewAdapter);
				if (result == null) result = caseOption(introduceNewAdapter);
				if (result == null) result = caseTraceableObject(introduceNewAdapter);
				if (result == null) result = caseRelationObject(introduceNewAdapter);
				if (result == null) result = caseConflictObject(introduceNewAdapter);
				if (result == null) result = caseDuplicationObject(introduceNewAdapter);
				if (result == null) result = caseDependencyObject(introduceNewAdapter);
				if (result == null) result = caseParentalObject(introduceNewAdapter);
				if (result == null) result = caseTriggerObject(introduceNewAdapter);
				if (result == null) result = caseResolveObject(introduceNewAdapter);
				if (result == null) result = caseAlternativeObject(introduceNewAdapter);
				if (result == null) result = caseCouldResolveObject(introduceNewAdapter);
				if (result == null) result = caseStakeholderObject(introduceNewAdapter);
				if (result == null) result = caseSelectionObject(introduceNewAdapter);
				if (result == null) result = caseIdentifier(introduceNewAdapter);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.REUSE_COMPONENT: {
				ReuseComponent reuseComponent = (ReuseComponent)theEObject;
				T result = caseReuseComponent(reuseComponent);
				if (result == null) result = caseComponentOption(reuseComponent);
				if (result == null) result = caseArchOption(reuseComponent);
				if (result == null) result = caseOption(reuseComponent);
				if (result == null) result = caseTraceableObject(reuseComponent);
				if (result == null) result = caseRelationObject(reuseComponent);
				if (result == null) result = caseConflictObject(reuseComponent);
				if (result == null) result = caseDuplicationObject(reuseComponent);
				if (result == null) result = caseDependencyObject(reuseComponent);
				if (result == null) result = caseParentalObject(reuseComponent);
				if (result == null) result = caseTriggerObject(reuseComponent);
				if (result == null) result = caseResolveObject(reuseComponent);
				if (result == null) result = caseAlternativeObject(reuseComponent);
				if (result == null) result = caseCouldResolveObject(reuseComponent);
				if (result == null) result = caseStakeholderObject(reuseComponent);
				if (result == null) result = caseSelectionObject(reuseComponent);
				if (result == null) result = caseIdentifier(reuseComponent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.BAN_COMPONENT: {
				BanComponent banComponent = (BanComponent)theEObject;
				T result = caseBanComponent(banComponent);
				if (result == null) result = caseComponentOption(banComponent);
				if (result == null) result = caseArchOption(banComponent);
				if (result == null) result = caseOption(banComponent);
				if (result == null) result = caseTraceableObject(banComponent);
				if (result == null) result = caseRelationObject(banComponent);
				if (result == null) result = caseConflictObject(banComponent);
				if (result == null) result = caseDuplicationObject(banComponent);
				if (result == null) result = caseDependencyObject(banComponent);
				if (result == null) result = caseParentalObject(banComponent);
				if (result == null) result = caseTriggerObject(banComponent);
				if (result == null) result = caseResolveObject(banComponent);
				if (result == null) result = caseAlternativeObject(banComponent);
				if (result == null) result = caseCouldResolveObject(banComponent);
				if (result == null) result = caseStakeholderObject(banComponent);
				if (result == null) result = caseSelectionObject(banComponent);
				if (result == null) result = caseIdentifier(banComponent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.REPLACE_COMPONENTS: {
				ReplaceComponents replaceComponents = (ReplaceComponents)theEObject;
				T result = caseReplaceComponents(replaceComponents);
				if (result == null) result = caseComponentOption(replaceComponents);
				if (result == null) result = caseArchOption(replaceComponents);
				if (result == null) result = caseOption(replaceComponents);
				if (result == null) result = caseTraceableObject(replaceComponents);
				if (result == null) result = caseRelationObject(replaceComponents);
				if (result == null) result = caseConflictObject(replaceComponents);
				if (result == null) result = caseDuplicationObject(replaceComponents);
				if (result == null) result = caseDependencyObject(replaceComponents);
				if (result == null) result = caseParentalObject(replaceComponents);
				if (result == null) result = caseTriggerObject(replaceComponents);
				if (result == null) result = caseResolveObject(replaceComponents);
				if (result == null) result = caseAlternativeObject(replaceComponents);
				if (result == null) result = caseCouldResolveObject(replaceComponents);
				if (result == null) result = caseStakeholderObject(replaceComponents);
				if (result == null) result = caseSelectionObject(replaceComponents);
				if (result == null) result = caseIdentifier(replaceComponents);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.SPLIT_COMPONENT: {
				SplitComponent splitComponent = (SplitComponent)theEObject;
				T result = caseSplitComponent(splitComponent);
				if (result == null) result = caseComponentOption(splitComponent);
				if (result == null) result = caseArchOption(splitComponent);
				if (result == null) result = caseOption(splitComponent);
				if (result == null) result = caseTraceableObject(splitComponent);
				if (result == null) result = caseRelationObject(splitComponent);
				if (result == null) result = caseConflictObject(splitComponent);
				if (result == null) result = caseDuplicationObject(splitComponent);
				if (result == null) result = caseDependencyObject(splitComponent);
				if (result == null) result = caseParentalObject(splitComponent);
				if (result == null) result = caseTriggerObject(splitComponent);
				if (result == null) result = caseResolveObject(splitComponent);
				if (result == null) result = caseAlternativeObject(splitComponent);
				if (result == null) result = caseCouldResolveObject(splitComponent);
				if (result == null) result = caseStakeholderObject(splitComponent);
				if (result == null) result = caseSelectionObject(splitComponent);
				if (result == null) result = caseIdentifier(splitComponent);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.MERGE_COMPONENTS: {
				MergeComponents mergeComponents = (MergeComponents)theEObject;
				T result = caseMergeComponents(mergeComponents);
				if (result == null) result = caseComponentOption(mergeComponents);
				if (result == null) result = caseArchOption(mergeComponents);
				if (result == null) result = caseOption(mergeComponents);
				if (result == null) result = caseTraceableObject(mergeComponents);
				if (result == null) result = caseRelationObject(mergeComponents);
				if (result == null) result = caseConflictObject(mergeComponents);
				if (result == null) result = caseDuplicationObject(mergeComponents);
				if (result == null) result = caseDependencyObject(mergeComponents);
				if (result == null) result = caseParentalObject(mergeComponents);
				if (result == null) result = caseTriggerObject(mergeComponents);
				if (result == null) result = caseResolveObject(mergeComponents);
				if (result == null) result = caseAlternativeObject(mergeComponents);
				if (result == null) result = caseCouldResolveObject(mergeComponents);
				if (result == null) result = caseStakeholderObject(mergeComponents);
				if (result == null) result = caseSelectionObject(mergeComponents);
				if (result == null) result = caseIdentifier(mergeComponents);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.CHANGE_ROLES: {
				ChangeRoles changeRoles = (ChangeRoles)theEObject;
				T result = caseChangeRoles(changeRoles);
				if (result == null) result = caseComponentOption(changeRoles);
				if (result == null) result = caseArchOption(changeRoles);
				if (result == null) result = caseOption(changeRoles);
				if (result == null) result = caseTraceableObject(changeRoles);
				if (result == null) result = caseRelationObject(changeRoles);
				if (result == null) result = caseConflictObject(changeRoles);
				if (result == null) result = caseDuplicationObject(changeRoles);
				if (result == null) result = caseDependencyObject(changeRoles);
				if (result == null) result = caseParentalObject(changeRoles);
				if (result == null) result = caseTriggerObject(changeRoles);
				if (result == null) result = caseResolveObject(changeRoles);
				if (result == null) result = caseAlternativeObject(changeRoles);
				if (result == null) result = caseCouldResolveObject(changeRoles);
				if (result == null) result = caseStakeholderObject(changeRoles);
				if (result == null) result = caseSelectionObject(changeRoles);
				if (result == null) result = caseIdentifier(changeRoles);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.COMPONENT_OPTION: {
				ComponentOption componentOption = (ComponentOption)theEObject;
				T result = caseComponentOption(componentOption);
				if (result == null) result = caseArchOption(componentOption);
				if (result == null) result = caseOption(componentOption);
				if (result == null) result = caseTraceableObject(componentOption);
				if (result == null) result = caseRelationObject(componentOption);
				if (result == null) result = caseConflictObject(componentOption);
				if (result == null) result = caseDuplicationObject(componentOption);
				if (result == null) result = caseDependencyObject(componentOption);
				if (result == null) result = caseParentalObject(componentOption);
				if (result == null) result = caseTriggerObject(componentOption);
				if (result == null) result = caseResolveObject(componentOption);
				if (result == null) result = caseAlternativeObject(componentOption);
				if (result == null) result = caseCouldResolveObject(componentOption);
				if (result == null) result = caseStakeholderObject(componentOption);
				if (result == null) result = caseSelectionObject(componentOption);
				if (result == null) result = caseIdentifier(componentOption);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.DEPLOYMENT_OPTION: {
				DeploymentOption deploymentOption = (DeploymentOption)theEObject;
				T result = caseDeploymentOption(deploymentOption);
				if (result == null) result = caseArchOption(deploymentOption);
				if (result == null) result = caseOption(deploymentOption);
				if (result == null) result = caseTraceableObject(deploymentOption);
				if (result == null) result = caseRelationObject(deploymentOption);
				if (result == null) result = caseConflictObject(deploymentOption);
				if (result == null) result = caseDuplicationObject(deploymentOption);
				if (result == null) result = caseDependencyObject(deploymentOption);
				if (result == null) result = caseParentalObject(deploymentOption);
				if (result == null) result = caseTriggerObject(deploymentOption);
				if (result == null) result = caseResolveObject(deploymentOption);
				if (result == null) result = caseAlternativeObject(deploymentOption);
				if (result == null) result = caseCouldResolveObject(deploymentOption);
				if (result == null) result = caseStakeholderObject(deploymentOption);
				if (result == null) result = caseSelectionObject(deploymentOption);
				if (result == null) result = caseIdentifier(deploymentOption);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.ARCH_OPTION: {
				ArchOption archOption = (ArchOption)theEObject;
				T result = caseArchOption(archOption);
				if (result == null) result = caseOption(archOption);
				if (result == null) result = caseTraceableObject(archOption);
				if (result == null) result = caseRelationObject(archOption);
				if (result == null) result = caseConflictObject(archOption);
				if (result == null) result = caseDuplicationObject(archOption);
				if (result == null) result = caseDependencyObject(archOption);
				if (result == null) result = caseParentalObject(archOption);
				if (result == null) result = caseTriggerObject(archOption);
				if (result == null) result = caseResolveObject(archOption);
				if (result == null) result = caseAlternativeObject(archOption);
				if (result == null) result = caseCouldResolveObject(archOption);
				if (result == null) result = caseStakeholderObject(archOption);
				if (result == null) result = caseSelectionObject(archOption);
				if (result == null) result = caseIdentifier(archOption);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.CHANGE_DATA_TYPE: {
				ChangeDataType changeDataType = (ChangeDataType)theEObject;
				T result = caseChangeDataType(changeDataType);
				if (result == null) result = caseDataTypeOption(changeDataType);
				if (result == null) result = caseArchOption(changeDataType);
				if (result == null) result = caseOption(changeDataType);
				if (result == null) result = caseTraceableObject(changeDataType);
				if (result == null) result = caseRelationObject(changeDataType);
				if (result == null) result = caseConflictObject(changeDataType);
				if (result == null) result = caseDuplicationObject(changeDataType);
				if (result == null) result = caseDependencyObject(changeDataType);
				if (result == null) result = caseParentalObject(changeDataType);
				if (result == null) result = caseTriggerObject(changeDataType);
				if (result == null) result = caseResolveObject(changeDataType);
				if (result == null) result = caseAlternativeObject(changeDataType);
				if (result == null) result = caseCouldResolveObject(changeDataType);
				if (result == null) result = caseStakeholderObject(changeDataType);
				if (result == null) result = caseSelectionObject(changeDataType);
				if (result == null) result = caseIdentifier(changeDataType);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.INTRODUCE_NEW_DATA_TYPE: {
				IntroduceNewDataType introduceNewDataType = (IntroduceNewDataType)theEObject;
				T result = caseIntroduceNewDataType(introduceNewDataType);
				if (result == null) result = caseDataTypeOption(introduceNewDataType);
				if (result == null) result = caseArchOption(introduceNewDataType);
				if (result == null) result = caseOption(introduceNewDataType);
				if (result == null) result = caseTraceableObject(introduceNewDataType);
				if (result == null) result = caseRelationObject(introduceNewDataType);
				if (result == null) result = caseConflictObject(introduceNewDataType);
				if (result == null) result = caseDuplicationObject(introduceNewDataType);
				if (result == null) result = caseDependencyObject(introduceNewDataType);
				if (result == null) result = caseParentalObject(introduceNewDataType);
				if (result == null) result = caseTriggerObject(introduceNewDataType);
				if (result == null) result = caseResolveObject(introduceNewDataType);
				if (result == null) result = caseAlternativeObject(introduceNewDataType);
				if (result == null) result = caseCouldResolveObject(introduceNewDataType);
				if (result == null) result = caseStakeholderObject(introduceNewDataType);
				if (result == null) result = caseSelectionObject(introduceNewDataType);
				if (result == null) result = caseIdentifier(introduceNewDataType);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.REMOVE_DATA_TYPE: {
				RemoveDataType removeDataType = (RemoveDataType)theEObject;
				T result = caseRemoveDataType(removeDataType);
				if (result == null) result = caseDataTypeOption(removeDataType);
				if (result == null) result = caseArchOption(removeDataType);
				if (result == null) result = caseOption(removeDataType);
				if (result == null) result = caseTraceableObject(removeDataType);
				if (result == null) result = caseRelationObject(removeDataType);
				if (result == null) result = caseConflictObject(removeDataType);
				if (result == null) result = caseDuplicationObject(removeDataType);
				if (result == null) result = caseDependencyObject(removeDataType);
				if (result == null) result = caseParentalObject(removeDataType);
				if (result == null) result = caseTriggerObject(removeDataType);
				if (result == null) result = caseResolveObject(removeDataType);
				if (result == null) result = caseAlternativeObject(removeDataType);
				if (result == null) result = caseCouldResolveObject(removeDataType);
				if (result == null) result = caseStakeholderObject(removeDataType);
				if (result == null) result = caseSelectionObject(removeDataType);
				if (result == null) result = caseIdentifier(removeDataType);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.INTERFACE_OPTION: {
				InterfaceOption interfaceOption = (InterfaceOption)theEObject;
				T result = caseInterfaceOption(interfaceOption);
				if (result == null) result = caseArchOption(interfaceOption);
				if (result == null) result = caseOption(interfaceOption);
				if (result == null) result = caseTraceableObject(interfaceOption);
				if (result == null) result = caseRelationObject(interfaceOption);
				if (result == null) result = caseConflictObject(interfaceOption);
				if (result == null) result = caseDuplicationObject(interfaceOption);
				if (result == null) result = caseDependencyObject(interfaceOption);
				if (result == null) result = caseParentalObject(interfaceOption);
				if (result == null) result = caseTriggerObject(interfaceOption);
				if (result == null) result = caseResolveObject(interfaceOption);
				if (result == null) result = caseAlternativeObject(interfaceOption);
				if (result == null) result = caseCouldResolveObject(interfaceOption);
				if (result == null) result = caseStakeholderObject(interfaceOption);
				if (result == null) result = caseSelectionObject(interfaceOption);
				if (result == null) result = caseIdentifier(interfaceOption);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.DATA_TYPE_OPTION: {
				DataTypeOption dataTypeOption = (DataTypeOption)theEObject;
				T result = caseDataTypeOption(dataTypeOption);
				if (result == null) result = caseArchOption(dataTypeOption);
				if (result == null) result = caseOption(dataTypeOption);
				if (result == null) result = caseTraceableObject(dataTypeOption);
				if (result == null) result = caseRelationObject(dataTypeOption);
				if (result == null) result = caseConflictObject(dataTypeOption);
				if (result == null) result = caseDuplicationObject(dataTypeOption);
				if (result == null) result = caseDependencyObject(dataTypeOption);
				if (result == null) result = caseParentalObject(dataTypeOption);
				if (result == null) result = caseTriggerObject(dataTypeOption);
				if (result == null) result = caseResolveObject(dataTypeOption);
				if (result == null) result = caseAlternativeObject(dataTypeOption);
				if (result == null) result = caseCouldResolveObject(dataTypeOption);
				if (result == null) result = caseStakeholderObject(dataTypeOption);
				if (result == null) result = caseSelectionObject(dataTypeOption);
				if (result == null) result = caseIdentifier(dataTypeOption);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.CHANGE_INTERFACE: {
				ChangeInterface changeInterface = (ChangeInterface)theEObject;
				T result = caseChangeInterface(changeInterface);
				if (result == null) result = caseInterfaceOption(changeInterface);
				if (result == null) result = caseArchOption(changeInterface);
				if (result == null) result = caseOption(changeInterface);
				if (result == null) result = caseTraceableObject(changeInterface);
				if (result == null) result = caseRelationObject(changeInterface);
				if (result == null) result = caseConflictObject(changeInterface);
				if (result == null) result = caseDuplicationObject(changeInterface);
				if (result == null) result = caseDependencyObject(changeInterface);
				if (result == null) result = caseParentalObject(changeInterface);
				if (result == null) result = caseTriggerObject(changeInterface);
				if (result == null) result = caseResolveObject(changeInterface);
				if (result == null) result = caseAlternativeObject(changeInterface);
				if (result == null) result = caseCouldResolveObject(changeInterface);
				if (result == null) result = caseStakeholderObject(changeInterface);
				if (result == null) result = caseSelectionObject(changeInterface);
				if (result == null) result = caseIdentifier(changeInterface);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.REMOVE_INTERFACE: {
				RemoveInterface removeInterface = (RemoveInterface)theEObject;
				T result = caseRemoveInterface(removeInterface);
				if (result == null) result = caseInterfaceOption(removeInterface);
				if (result == null) result = caseArchOption(removeInterface);
				if (result == null) result = caseOption(removeInterface);
				if (result == null) result = caseTraceableObject(removeInterface);
				if (result == null) result = caseRelationObject(removeInterface);
				if (result == null) result = caseConflictObject(removeInterface);
				if (result == null) result = caseDuplicationObject(removeInterface);
				if (result == null) result = caseDependencyObject(removeInterface);
				if (result == null) result = caseParentalObject(removeInterface);
				if (result == null) result = caseTriggerObject(removeInterface);
				if (result == null) result = caseResolveObject(removeInterface);
				if (result == null) result = caseAlternativeObject(removeInterface);
				if (result == null) result = caseCouldResolveObject(removeInterface);
				if (result == null) result = caseStakeholderObject(removeInterface);
				if (result == null) result = caseSelectionObject(removeInterface);
				if (result == null) result = caseIdentifier(removeInterface);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.INTRODUCE_NEW_INTERFACE: {
				IntroduceNewInterface introduceNewInterface = (IntroduceNewInterface)theEObject;
				T result = caseIntroduceNewInterface(introduceNewInterface);
				if (result == null) result = caseInterfaceOption(introduceNewInterface);
				if (result == null) result = caseArchOption(introduceNewInterface);
				if (result == null) result = caseOption(introduceNewInterface);
				if (result == null) result = caseTraceableObject(introduceNewInterface);
				if (result == null) result = caseRelationObject(introduceNewInterface);
				if (result == null) result = caseConflictObject(introduceNewInterface);
				if (result == null) result = caseDuplicationObject(introduceNewInterface);
				if (result == null) result = caseDependencyObject(introduceNewInterface);
				if (result == null) result = caseParentalObject(introduceNewInterface);
				if (result == null) result = caseTriggerObject(introduceNewInterface);
				if (result == null) result = caseResolveObject(introduceNewInterface);
				if (result == null) result = caseAlternativeObject(introduceNewInterface);
				if (result == null) result = caseCouldResolveObject(introduceNewInterface);
				if (result == null) result = caseStakeholderObject(introduceNewInterface);
				if (result == null) result = caseSelectionObject(introduceNewInterface);
				if (result == null) result = caseIdentifier(introduceNewInterface);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			case ArchoptionsPackage.ARCH_CANDIDATE: {
				ArchCandidate archCandidate = (ArchCandidate)theEObject;
				T result = caseArchCandidate(archCandidate);
				if (result == null) result = caseArchOption(archCandidate);
				if (result == null) result = caseOption(archCandidate);
				if (result == null) result = caseTraceableObject(archCandidate);
				if (result == null) result = caseRelationObject(archCandidate);
				if (result == null) result = caseConflictObject(archCandidate);
				if (result == null) result = caseDuplicationObject(archCandidate);
				if (result == null) result = caseDependencyObject(archCandidate);
				if (result == null) result = caseParentalObject(archCandidate);
				if (result == null) result = caseTriggerObject(archCandidate);
				if (result == null) result = caseResolveObject(archCandidate);
				if (result == null) result = caseAlternativeObject(archCandidate);
				if (result == null) result = caseCouldResolveObject(archCandidate);
				if (result == null) result = caseStakeholderObject(archCandidate);
				if (result == null) result = caseSelectionObject(archCandidate);
				if (result == null) result = caseIdentifier(archCandidate);
				if (result == null) result = defaultCase(theEObject);
				return result;
			}
			default: return defaultCase(theEObject);
		}
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Provided Functionality'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Provided Functionality'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseProvidedFunctionality(ProvidedFunctionality object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Required Functionality'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Required Functionality'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRequiredFunctionality(RequiredFunctionality object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Functionality Connection'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Functionality Connection'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseFunctionalityConnection(FunctionalityConnection object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Multiple Instantiation'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Multiple Instantiation'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseMultipleInstantiation(MultipleInstantiation object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Only Single Instantiation'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Only Single Instantiation'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseOnlySingleInstantiation(OnlySingleInstantiation object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Only Single Allocation'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Only Single Allocation'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseOnlySingleAllocation(OnlySingleAllocation object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Multiple Allocation'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Multiple Allocation'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseMultipleAllocation(MultipleAllocation object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Allocate Together'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Allocate Together'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAllocateTogether(AllocateTogether object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Allocate Never Together'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Allocate Never Together'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAllocateNeverTogether(AllocateNeverTogether object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Never Allocate To Specific Nodes'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Never Allocate To Specific Nodes'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseNeverAllocateToSpecificNodes(NeverAllocateToSpecificNodes object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Move Components'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Move Components'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseMoveComponents(MoveComponents object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Introduce New Component'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Introduce New Component'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIntroduceNewComponent(IntroduceNewComponent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Introduce New Adapter'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Introduce New Adapter'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIntroduceNewAdapter(IntroduceNewAdapter object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Reuse Component'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Reuse Component'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseReuseComponent(ReuseComponent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Ban Component'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Ban Component'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseBanComponent(BanComponent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Replace Components'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Replace Components'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseReplaceComponents(ReplaceComponents object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Split Component'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Split Component'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSplitComponent(SplitComponent object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Merge Components'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Merge Components'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseMergeComponents(MergeComponents object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Change Roles'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Change Roles'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseChangeRoles(ChangeRoles object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Component Option'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Component Option'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseComponentOption(ComponentOption object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Deployment Option'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Deployment Option'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDeploymentOption(DeploymentOption object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Arch Option'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Arch Option'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseArchOption(ArchOption object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Change Data Type'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Change Data Type'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseChangeDataType(ChangeDataType object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Introduce New Data Type'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Introduce New Data Type'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIntroduceNewDataType(IntroduceNewDataType object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Remove Data Type'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Remove Data Type'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRemoveDataType(RemoveDataType object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Interface Option'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Interface Option'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseInterfaceOption(InterfaceOption object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Data Type Option'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Data Type Option'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDataTypeOption(DataTypeOption object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Change Interface'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Change Interface'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseChangeInterface(ChangeInterface object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Remove Interface'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Remove Interface'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRemoveInterface(RemoveInterface object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Introduce New Interface'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Introduce New Interface'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIntroduceNewInterface(IntroduceNewInterface object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Arch Candidate'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Arch Candidate'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseArchCandidate(ArchCandidate object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Identifier'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Identifier'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseIdentifier(Identifier object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Relation Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Relation Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseRelationObject(RelationObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Conflict Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Conflict Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseConflictObject(ConflictObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Duplication Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Duplication Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDuplicationObject(DuplicationObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Dependency Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Dependency Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseDependencyObject(DependencyObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Parental Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Parental Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseParentalObject(ParentalObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Trigger Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Trigger Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTriggerObject(TriggerObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Resolve Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Resolve Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseResolveObject(ResolveObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Alternative Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Alternative Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseAlternativeObject(AlternativeObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Could Resolve Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Could Resolve Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseCouldResolveObject(CouldResolveObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Stakeholder Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Stakeholder Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseStakeholderObject(StakeholderObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Selection Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Selection Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseSelectionObject(SelectionObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Traceable Object'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Traceable Object'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseTraceableObject(TraceableObject object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'Option'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'Option'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
	 * @generated
	 */
	public T caseOption(Option object) {
		return null;
	}

	/**
	 * Returns the result of interpreting the object as an instance of 'EObject'.
	 *
	 * This implementation returns null;
	 * returning a non-null result will terminate the switch, but this is the last case anyway.
	 *
	 * @param object the target of the switch.
	 * @return the result of interpreting the object as an instance of 'EObject'.
	 * @see #doSwitch(org.eclipse.emf.ecore.EObject)
	 * @generated
	 */
	@Override
	public T defaultCase(EObject object) {
		return null;
	}

} //ArchoptionsSwitch


text:
from __future__ import absolute_import
import numpy as np
import time
import sys

def get_from_module(identifier, module_params, module_name, instantiate=False):
    if type(identifier) is str:
        res = module_params.get(identifier)
        if not res:
            raise Exception('Invalid ' + str(module_name) + ': ' + str(identifier))
        if instantiate:
            return res()
        else:
            return res
    return identifier

def make_tuple(*args):
    return args

def printv(v, prefix=''):
    if type(v) == dict:
        if 'name' in v:
            print(prefix + '#' + v['name'])
            del v['name']
        prefix += '...'
        for nk, nv in v.items():
            if type(nv) in [dict, list]:
                print(prefix + nk + ':')
                printv(nv, prefix)
            else:
                print(prefix + nk + ':' + str(nv))
    elif type(v) == list:
        prefix += '...'
        for i, nv in enumerate(v):
            print(prefix + '#' + str(i))
            printv(nv, prefix)
    else:
        prefix += '...'
        print(prefix + str(v))

class Progbar(object):
    def __init__(self, target, width=30, verbose=1):
        '''
            @param target: total number of steps expected
        '''
        self.width = width
        self.target = target
        self.sum_values = {}
        self.unique_values = []
        self.start = time.time()
        self.total_width = 0
        self.seen_so_far = 0
        self.verbose = verbose

    def update(self, current, values=[]):
        '''
            @param current: index of current step
            @param values: list of tuples (name, value_for_last_step).
            The progress bar will display averages for these values.
        '''
        for k, v in values:
            if k not in self.sum_values:
                self.sum_values[k] = [v * (current-self.seen_so_far), current-self.seen_so_far]
                self.unique_values.append(k)
            else:
                self.sum_values[k][0] += v * (current-self.seen_so_far)
                self.sum_values[k][1] += (current-self.seen_so_far)
        self.seen_so_far = current

        now = time.time()
        if self.verbose == 1:
            prev_total_width = self.total_width
            sys.stdout.write("\b" * prev_total_width)
            sys.stdout.write("\r")

            numdigits = int(np.floor(np.log10(self.target))) + 1
            barstr = '%%%dd/%%%dd [' % (numdigits, numdigits)
            bar = barstr % (current, self.target)
            prog = float(current)/self.target
            prog_width = int(self.width*prog)
            if prog_width > 0:
                bar += ('='*(prog_width-1))
                if current < self.target:
                    bar += '>'
                else:
                    bar += '='
            bar += ('.'*(self.width-prog_width))
            bar += ']'
            sys.stdout.write(bar)
            self.total_width = len(bar)

            if current:
                time_per_unit = (now - self.start) / current
            else:
                time_per_unit = 0
            eta = time_per_unit*(self.target - current)
            info = ''
            if current < self.target:
                info += ' - ETA: %ds' % eta
            else:
                info += ' - %ds' % (now - self.start)
            for k in self.unique_values:
                info += ' - %s: %.4f' % (k, self.sum_values[k][0]/self.sum_values[k][1])

            self.total_width += len(info)
            if prev_total_width > self.total_width:
                info += ((prev_total_width-self.total_width) * " ")

            sys.stdout.write(info)
            sys.stdout.flush()

            if current >= self.target:
                sys.stdout.write("\n")

        if self.verbose == 2:
            if current >= self.target:
                info = '%ds' % (now - self.start)
                for k in self.unique_values:
                    info += ' - %s: %.4f' % (k, self.sum_values[k][0]/self.sum_values[k][1])
                sys.stdout.write(info + "\n")

    def add(self, n, values=[]):
        self.update(self.seen_so_far+n, values)

redpajama_set_name: RedPajamaGithub


text:
<!DOCTYPE html>

	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<meta name='description' content='Quickly find words that make you sound clever'>
	<link rel="stylesheet" href="css/thesauruser.min.css">
	<link rel="shortcut icon" type="image/x-icon" href="assets/favicon.ico">
	<link rel="stylesheet" href="css/jquery.loadmask-plus.min.css">
	<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css">
	<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/sweetalert/0.3.2/sweet-alert.min.css">
	<title>thesauruser</title>

thesauruser

				<input id='main-search' type="text" placeholder='Search for a word' autofocus>

Synonyms & Similar Words

	an experiment by @robcalcroft


text:
package org.jetbrains.plugins.scala.lang.lexer;

/*
No more failing lexer tests!
Leave commented code here for the time we may fail again.
Until then: Hurray!

import org.jetbrains.annotations.NotNull;
import org.jetbrains.plugins.scala.PerfCycleTests;
import org.junit.experimental.categories.Category;

@Category({PerfCycleTests.class})
public class FailedLexerTest extends ScalaLexerTestBase {

    FailedLexerTest() {
        super("/lexer/failed");
    }

    @Override
    protected boolean shouldPass() {
        return false;
    }

    @NotNull
    public static FailedLexerTest suite() {
        return new FailedLexerTest();
    }
}
 */


text:
#region License
//    Copyright 2012 Julien Lebosquain
//
//    Licensed under the Apache License, Version 2.0 (the "License");
//    you may not use this file except in compliance with the License.
//    You may obtain a copy of the License at
//
//        http://www.apache.org/licenses/LICENSE-2.0
//
//    Unless required by applicable law or agreed to in writing, software
//    distributed under the License is distributed on an "AS IS" BASIS,
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//    See the License for the specific language governing permissions and
//    limitations under the License.
#endregion
using System;
using System.Linq;
using JetBrains.Annotations;
using JetBrains.ProjectModel;
using JetBrains.ProjectModel.Properties;
using JetBrains.ReSharper.Psi;
using JetBrains.ReSharper.Psi.CSharp.Tree;
using JetBrains.Util;

namespace GammaJul.ReSharper.ForTea.Psi {

	internal static class PsiExtensions {

		[CanBeNull]
		internal static IPsiSourceFile FindSourceFileInSolution([CanBeNull] this FileSystemPath includePath, [CanBeNull] ISolution solution) {
			if (includePath == null || includePath.IsEmpty || solution == null)
				return null;

			IProjectFile includeProjectfile = solution
				.FindProjectItemsByLocation(includePath)
				.OfType<IProjectFile>()
				.FirstOrDefault();

			return includeProjectfile != null ? includeProjectfile.ToSourceFile() : null;
		}

		internal static bool IsPreprocessedT4Template([CanBeNull] this IProjectFile projectFile) {
			string customTool = projectFile.GetCustomTool();
			return "TextTemplatingFilePreprocessor".Equals(customTool, StringComparison.OrdinalIgnoreCase);
		}

		[CanBeNull]
		private static ProjectFileProperties TryGetProperties([CanBeNull] IProjectFile projectFile) {
			return projectFile != null ? projectFile.Properties as ProjectFileProperties : null;
		}

		[CanBeNull]
		internal static string GetCustomTool([CanBeNull] this IProjectFile projectFile) {
			ProjectFileProperties properties = TryGetProperties(projectFile);
			return properties != null ? properties.CustomTool : null;
		}

		[CanBeNull]
		internal static string GetCustomToolNamespace([CanBeNull] this IProjectFile projectFile) {
			ProjectFileProperties properties = TryGetProperties(projectFile);
			return properties != null ? properties.CustomToolNamespace : null;
		}

		internal static void MarkAsDirty([NotNull] this IPsiServices psiServices, [NotNull] IPsiSourceFile psiSourcefile) {
			psiServices.Files.MarkAsDirty(psiSourcefile);
			psiServices.Caches.MarkAsDirty(psiSourcefile);
		}

		[CanBeNull]
		internal static IReferenceName GetUsedNamespaceNode([CanBeNull] this IUsingDirective directive) {
			var usingSymbolDirective = directive as IUsingSymbolDirective;
			if (usingSymbolDirective == null)
				return null;

			DeclaredElementInstance<IDeclaredElement> importedSymbol = usingSymbolDirective.ImportedSymbol;
			if (importedSymbol == null || !(importedSymbol.Element is INamespace))
				return null;

			return usingSymbolDirective.ImportedSymbolName;
		}

	}

}


text:
'use strict';

describe('Controller: LandingPageCtrl', function () {

  // load the controller's module
  beforeEach(module('chofraNetflixApp'));

  var LandingPageCtrl,
    scope;

  // Initialize the controller and a mock scope
  beforeEach(inject(function ($controller, $rootScope) {
    scope = $rootScope.$new();
    LandingPageCtrl = $controller('LandingPageCtrl', {
      $scope: scope
      // place here mocked dependencies
    });
  }));

  it('should attach a list of awesomeThings to the scope', function () {
    expect(LandingPageCtrl.awesomeThings.length).toBe(3);
  });
});


text:
<?php

namespace Diside\SecurityBundle\Security\Voter;

use Symfony\Component\Security\Core\User\UserInterface;
use Diside\SecurityComponent\Model\User;
use Diside\SecurityBundle\Security\LoggedUser;

class UserVoter extends AbstractVoter {

    const DELETE = 'DELETE';
    const EDIT = 'EDIT';
    const IMPERSONATE = 'IMPERSONATE';

    protected function getSupportedClasses()
    {
        return array('Diside\SecurityComponent\Model\User');
    }

    protected function getSupportedAttributes()
    {
        return array(self::IMPERSONATE, self::DELETE, self::EDIT);
    }

    protected function isGranted($attribute, $user, $loggedUser = null)
    {
        /** @var LoggedUser $loggedUser */
        /** @var User $user */

        if($attribute == self::DELETE) {
            if($loggedUser->isAdmin() && (!$loggedUser->isSameAs($user)))
                return true;
        }
        if($attribute == self::EDIT) {
            if($loggedUser->isSameAs($user) || $loggedUser->isAdmin())
                return true;
        }
        if($attribute == self::IMPERSONATE) {
            if($loggedUser->isSuperadmin() && !$loggedUser->isSameAs($user))
                return true;
        }

        return false;
    }
}


text:
*{margin:0;padding:0;list-style-type:none;}
a,img{border:0;}
a,a:visited{color:#5e5e5e; text-decoration:none;}
a:hover{color:#333;text-decoration:underline;}
body{font:12px/180% Arial,Lucida,Verdana,"����",Helvetica,sans-serif;color:#333;background:#fff;}
/* navbox */
.navbox,.nav li,.nav li.current a,.nav li.selected a span,.nav li a.selected,.nav li a.selected span{background:url(../images/headerbg.png) no-repeat;}
.navbox{height:39px;background-position:0 -138px;background-repeat:repeat-x;position:relative;z-index:9;}
.nav{width:960px;margin:0 auto;}
.nav li{float:left;height:39px;background-position:100% -99px;padding:0 3px 0 2px;position:relative;}
.nav li.last{background:none;}
.nav li a{float:left;display:block;padding:0 0 0 4px;height:39px;overflow:hidden;}
.nav li a span{float:left;display:block;padding:0 4px 0 0;line-height:39px;font-size:14px;color:#fff;font-weight:800;cursor:pointer;width:142px;text-align:center;}
.nav li.selected a,.nav li a.selected{background-position:0 -60px;text-decoration:none;}
.nav li.selected a span,.nav li a.selected span{background-position:100% -60px;color:#ff7e00;}
.nav li.selected .submenu{display:block;}
.nav li .submenu{display:none;position:absolute;top:39px;left:6px;z-index:10;}
.nav li .submenu{z-index:10;border-style:solid;border-width:0px 1px 1px 1px;border-color:#ddd;padding:0 5px 5px 5px;width:132px;background:#fff;}
.nav li .submenu{-moz-border-radius:0 0 3px 3px;-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-moz-box-shadow:0 5px 5px #D3D3D3;-webkit-box-shadow:0 5px 5px #D3D3D3;box-shadow:0 5px 5px #D3D3D3;}
.nav li .submenu li{float:none;padding:0;background:none;height:auto;border-bottom:dotted 1px #BEBEBE;}
.nav li .submenu li.last{border:none;}
.nav li .submenu li a{float:none;padding:0;text-align:center;height:28px;line-height:28px;background:none;}
.nav li .submenu li a:hover{background:#ddd;font-weight:800;}


text:
"use strict";
const express = require('express'),server = express(),Mongoclient = require('mongodb').MongoClient,
contentTypes = require('./utils/content-types'),
    sysInfo      = require('./utils/sys-info'),
    env          = process.env;

let Tangible3D = require('./Tangible3D');

let Tangible3d = new Tangible3D(server);
module.exports.server = server;

var njglobals = require('nunjucks/src/globals');
njglobals.someVar = 'someValue';
//console.log(Tangible3d.init.Router_Fctrl);

server.use(Tangible3d.utils.express.static('front_end/public'));
server.use(Tangible3d.utils.express.static('front_end'));
//todo: i just comment the Mongoclient middleware becouse i think he is cousing the model methods
/*server.use(function(req,res,next){
    req.db = Tangible3d.init.Controller.model.crud.Mongo_client;
    next();

});*/

Tangible3d.utils.nunjucks.configure('front_end/views', {
  autoescape: true,
  express: server,

});

server.get('/', function(req, res) {
    res.render('index.html');

});

server.get('/home', function(req, res) {
    res.render('index.html');

});

server.get('/contact', function(req, res) {
    res.render('contact.html');

});

server.get('/upload', function(req, res) {
    res.render('upload.html');

});

server.listen(Tangible3d.utils.env.NODE_PORT || 3000,Tangible3d.utils.env.NODE_IP || 'localhost', function () {
    console.log(`Application worker ${process.pid} started...`);
});


text:
/* */
var assignValue = require('./_assignValue');
function copyObject(source, props, object, customizer) {
  object || (object = {});
  var index = -1,
      length = props.length;
  while (++index < length) {
    var key = props[index];
    var newValue = customizer ? customizer(object[key], source[key], key, object, source) : source[key];
    assignValue(object, key, newValue);
  }
  return object;
}
module.exports = copyObject;


text:
/**
 * Rain (NPC 12101)
 * Rainbow Street: Amherst (Map 1010000)
 *
 * Gives hints for beginners.
 *
 * @author GoldenKevin (content from Vana r3171)
 */

npc.sayNext("This is the town called #b#m1010000##k, located at the northeast part of the Maple Island. You know that Maple Island is for beginners, right? I'm glad there are only weak monsters around this place.");
npc.sayNext("If you want to get stronger, then go to #b#m60000##k where there's an harbor, ride on the gigantic ship and head to the place called #bVictoria Island#k. It's incomparable in size compared to this tiny island.");
npc.say("At the Victoria Island you can choose your job. Is it called #b#m102000000##k...? I heard there's a bare, desolate town where warriors live. A highland...what kind of a place would that be?");


text:
SRC=$1
DEST=$2

cat $SRC | sed -f translate_comments_prepare.sed | tr -d '\n' | sed -f translate_comments.sed > $DEST


text:
#include "pow.h"

ustring		doubleHash(ustring data)
{
	ustring ret;
	CryptoPP::SHA512 hash;
	byte digest[CryptoPP::SHA512::DIGESTSIZE];
	byte digest2[CryptoPP::SHA512::DIGESTSIZE];
	hash.CalculateDigest(digest, (byte*)data.c_str(), data.length());
	hash.CalculateDigest(digest2, digest, sizeof digest);

	for (int i = 0; i < 32; i++)
	{
		ret.appendInt8((unsigned char)digest2[i]);
	}
	return ret;
}

uint64_t doPow(ustring data)
{
	InitEndian();
	uint8_t initial_hash[CryptoPP::SHA512::DIGESTSIZE];
	uint8_t hash1[CryptoPP::SHA512::DIGESTSIZE];
	uint8_t hash2[CryptoPP::SHA512::DIGESTSIZE];
	uint64_t pow_value;

	CryptoPP::SHA512 hash;

	ustring payload;
	payload += data.substr(8, data.length());

	ustring nonce;
	nonce += data.substr(0, 8);

	hash.CalculateDigest(initial_hash, (byte*)payload.c_str(), payload.length());

	hash.Update((byte*)nonce.c_str(), nonce.length());
	hash.Update(initial_hash, sizeof(initial_hash));
	hash.Final(hash1);

	hash.CalculateDigest(hash2, hash1, sizeof(hash1));

	/* The POW value is the last 8 bytes of that
	* as a big-endian number */
	memcpy(&pow_value, hash2, sizeof(pow_value));

	pow_value = BigLongLong(pow_value);

	return pow_value;
}

int64_t	getTarget(uint64_t length, uint64_t TTL, uint64_t extrabytes, uint64_t noncetrials)
{
	const uint64_t two_63 = UINT64_C(0x8000000000000000);
	uint64_t divisor;
	uint64_t target;
	if ((int32_t)TTL < 300 && (int32_t)TTL > -3600)
		TTL = 300;
	divisor = ((((length + (uint64_t)extrabytes) * TTL) / UINT64_C(0x10000)) + extrabytes + length) * noncetrials;

	/* We need to divide 2?? by divisor. We can't represent 2?? in
	* a 64-bit variable so instead we divide 2?� by the divisor
	* twice and add the result */
	target = two_63 / divisor * 2;
	/* If the fractional part of the result would be greater than
	* or equal to a half then we would get an extra 1 when we
	* multiply by two */
	if ((two_63 % divisor) * 2 >= divisor)
		target++;

	return target;
}

bool checkPow(ustring data, uint64_t TTL, uint64_t extrabytes, uint64_t noncetrial) {
	uint64_t pow = doPow(data);
	time_t ltime = std::time(nullptr);
	uint64_t target = getTarget(data.length() - 8, TTL - ltime);
	if (pow > target) {
		return false;
	} else {
		return true;
	}
}
uint64_t searchPow(ustring data, uint64_t TTL)
{
	InitEndian();
	uint8_t initial_hash[CryptoPP::SHA512::DIGESTSIZE];
	uint8_t hash1[CryptoPP::SHA512::DIGESTSIZE];
	uint8_t hash2[CryptoPP::SHA512::DIGESTSIZE];
	uint64_t pow_value = -1;

	CryptoPP::SHA512 hash;

	ustring payload;
	payload += data.substr(8, data.length());

	hash.CalculateDigest(initial_hash, (byte*)payload.c_str(), payload.length());

	time_t ltime = std::time(nullptr);

	uint64_t target = getTarget(payload.length(), TTL - ltime);
	uint64_t nonce = 0;

	char * tmpnonce = new char[8 + CryptoPP::SHA512::DIGESTSIZE];

	for (int i = 0; i < CryptoPP::SHA512::DIGESTSIZE; i++)
		tmpnonce[8 + i] = initial_hash[i];

	while (pow_value > target) {
		nonce++;

		tmpnonce[7] = nonce & 255;
		tmpnonce[6] = (nonce >> 8) & 255;
		tmpnonce[5] = (nonce >> 16) & 255;
		tmpnonce[4] = (nonce >> 24) & 255;
		tmpnonce[3] = (nonce >> 32) & 255;
		tmpnonce[2] = (nonce >> 40) & 255;
		tmpnonce[1] = (nonce >> 48) & 255;
		tmpnonce[0] = (nonce >> 56) & 255;

		hash.CalculateDigest(hash1, (byte*)tmpnonce, 8 + CryptoPP::SHA512::DIGESTSIZE);

		hash.CalculateDigest(hash2, hash1, sizeof(hash1));

		/* The POW value is the first 8 bytes of that
		* as a big-endian number */
		pow_value = BigLongLong(*(int64_t*)(hash2));
	}
	delete[] tmpnonce;
	return nonce;
}


text:
package com.cognifide.aet.cleaner.processors;

import com.cognifide.aet.cleaner.context.CleanerContext;
import com.cognifide.aet.cleaner.processors.exchange.SuiteMessageBody;
import com.cognifide.aet.communication.api.metadata.Suite;
import com.cognifide.aet.vs.MetadataDAO;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Component(service = RemoveMetadataProcessor.class)
public class RemoveMetadataProcessor implements Processor {

  private static final Logger LOGGER = LoggerFactory.getLogger(RemoveMetadataProcessor.class);

  @Reference
  private MetadataDAO metadataDAO;

  @Override
  @SuppressWarnings("unchecked")
  public void process(Exchange exchange) throws Exception {
    final CleanerContext cleanerContext = exchange.getIn()
        .getHeader(CleanerContext.KEY_NAME, CleanerContext.class);
    final SuiteMessageBody messageBody = exchange.getIn().getBody(SuiteMessageBody.class);
    final Suite suiteToRemove = messageBody.getData();
    if (!cleanerContext.isDryRun()) {
      LOGGER.info("Removing suite {}.", suiteToRemove);
      metadataDAO.removeSuite(messageBody.getDbKey(), suiteToRemove.getCorrelationId(),
          suiteToRemove.getVersion());
    } else {
      LOGGER.info("Dry run completed! Suites to remove: {}", suiteToRemove);
    }
  }
}


text:
<?php

class eway
{

    public $biller;
    public $invoice;
    public $customer;
    public $preference;

    public function pre_check()
    {
        global $logger;

        $return = 'false';

        //set customer,biller and preference if not defined
        if(empty($this->customer))
        {
            $this->customer = getCustomer($this->invoice['customer_id']);
        }
        if(empty($this->biller))
        {
            $this->biller = getBiller($this->invoice['biller_id']);
        }
        if(empty($this->preference))
        {
            $this->preference = getPreference($this->invoice['preference_id']);
        }

        if (
                $this->invoice['owing'] > 0
                 AND
                $this->biller['eway_customer_id'] != ''
                AND
                $this->customer['credit_card_number'] != ''
                AND
                in_array("eway_merchant_xml",explode(",", $this->preference['include_online_payment'])) )
        {
            $return = 'true';
        }

        $logger->log("eway pre check: " . $return, Zend_Log::INFO);
        return $return;
    }

    public function payment()
    {

        global $config;
        global $logger;

        //set customer,biller and preference if not defined
        if(empty($this->customer))
        {
            $this->customer = getCustomer($this->invoice['customer_id']);
        }
        if(empty($this->biller))
        {
            $this->biller = getBiller($this->invoice['biller_id']);
        }
        if(empty($this->preference))
        {
            $this->preference = getPreference($this->invoice['preference_id']);
        }

        $eway = new ewaylib($this->biller['eway_customer_id'],'REAL_TIME', false);

        //Eway only accepts amount in cents - so times 100
		$value = $this->invoice['total']*100;
		$eway_invoice_total = htmlsafe(trim($value));
        $logger->log("eway totla: " . $eway_invoice_total, Zend_Log::INFO);

        $enc = new encryption();
        $key = $config->encryption->default->key;
        $credit_card_number = $enc->decrypt($key, $this->customer['credit_card_number']);

        $eway->setTransactionData("TotalAmount", $eway_invoice_total); //mandatory field
        $eway->setTransactionData("CustomerFirstName", $this->customer['name']);
    	$eway->setTransactionData("CustomerLastName", "");
        $eway->setTransactionData("CustomerAddress", "");
        $eway->setTransactionData("CustomerPostcode", "");
        $eway->setTransactionData("CustomerInvoiceDescription", "");
        $eway->setTransactionData("CustomerEmail", $this->customer['email']);
        $eway->setTransactionData("CustomerInvoiceRef", $this->invoice['index_name']);
        $eway->setTransactionData("CardHoldersName", $this->customer['credit_card_holder_name']); //mandatory field
        $eway->setTransactionData("CardNumber", $credit_card_number); //mandatory field
        $eway->setTransactionData("CardExpiryMonth", $this->customer['credit_card_expiry_month']); //mandatory field
        $eway->setTransactionData("CardExpiryYear", $this->customer['credit_card_expiry_year']); //mandatory field
        $eway->setTransactionData("Option1", "");
        $eway->setTransactionData("Option2", "");
        $eway->setTransactionData("Option3", "");
        $eway->setTransactionData("TrxnNumber", $this->invoice['id']);

        //special preferences for php Curl
        $eway->setCurlPreferences(CURLOPT_SSL_VERIFYPEER, 0);  //pass a long that is set to a zero value to stop curl from verifying the peer's certificate
        $ewayResponseFields = $eway->doPayment();
        $this->message = $ewayResponseFields;
        $message ="";
        if($ewayResponseFields["EWAYTRXNSTATUS"]=="False"){
			$logger->log("Transaction Error: " . $ewayResponseFields["EWAYTRXNERROR"] . "
\n", Zend_Log::INFO);
            foreach($ewayResponseFields as $key => $value)
                $message .= "\n
\$ewayResponseFields[\"$key\"] = $value";
			$logger->log("Eway message: " . $message . "
\n", Zend_Log::INFO);
            //header("Location: trasnactionerrorpage.php");
            //exit();
            $return = 'false';
        }else if($ewayResponseFields["EWAYTRXNSTATUS"]=="True"){

			$logger->log("Transaction Success: " . $ewayResponseFields["EWAYTRXNERROR"] . "
\n", Zend_Log::INFO);
            foreach($ewayResponseFields as $key => $value)
                $message .= "\n
\$ewayResponseFields[\"$key\"] = $value";
			$logger->log("Eway message: " . $message . "
\n", Zend_Log::INFO);
            //header("Location: trasnactionsuccess.php");
            //exit();
            $payment = new payment();
            $payment->ac_inv_id = $this->invoice['id'];
            #$payment->ac_inv_id = $_POST['invoice'];
            $payment->ac_amount = $this->invoice['total'];
            #$payment->ac_amount = $ewayResponseFields['EWAYRETURNAMOUNT']/100;
            #$payment->ac_amount = $_POST['mc_gross'];
            $payment->ac_notes = $message;
            $payment->ac_date = date( 'Y-m-d' );
            $payment->online_payment_id = $ewayResponseFields['EWAYTRXNNUMBER'];
            $payment->domain_id = domain_id::get($this->domain_id);

                $payment_type = new payment_type();
                $payment_type->type = "Eway";
                $payment_type->domain_id = $domain_id;

            $payment->ac_payment_type = $payment_type->select_or_insert_where();
            $logger->log('Paypal - payment_type='.$payment->ac_payment_type, Zend_Log::INFO);
            $payment->insert();
            #echo $db->lastInsertID();
            $return = 'true';
        }

        return $return ;
    }

    function get_message()
    {

        return $this->message;

    }

}