/**
  *
  * <!-- begin-user-doc -->
  * <!-- end-user-doc -->
  *
  * @generated
  */
 public JavaType getImplementation() {
   if (implementation != null && implementation.eIsProxy()) {
     InternalEObject oldImplementation = (InternalEObject) implementation;
     implementation = (JavaType) eResolveProxy(oldImplementation);
     if (implementation != oldImplementation) {
       if (eNotificationRequired())
         eNotify(
             new ENotificationImpl(
                 this,
                 Notification.RESOLVE,
                 PmlPackage.EXTENSION__IMPLEMENTATION,
                 oldImplementation,
                 implementation));
     }
   }
   return implementation;
 }
  /*
   * (non-Javadoc)
   * @see org.eclipse.emf.ecore.impl.BasicEObjectImpl#toString()
   * @generated NOT
   */
  public String toString() {

    String result;

    result = this.getClass().getSimpleName();
    result += "[";

    if (implementation != null) {
      result += "implementation = " + implementation.getFullyQualifiedName();
    }
    // no else.

    if (extensionPoint != null) {
      result += ", extensionPoint = " + extensionPoint.getId();
    }
    // no else.

    result += "]";

    return result;
  }